home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 28
/
Aminet 28 (1998)(GTI - Schatztruhe)[!][Dec 1998].iso
/
Aminet
/
gfx
/
3d
/
raystorm_060.lha
/
common.lha
/
Docs
/
RayStorm.doc
next >
Wrap
Text File
|
1998-09-24
|
163KB
|
5,124 lines
September 8th 1998
R a y S t o r m 3mv2.20m
by Andreas Heumann and Mike Hesser
0m1m1. Introduction0m
3m Introduction 0m What is RayStorm?
3m Requirements 0m What do I need to run it?
3m Features 0m What can Scenario do?
3m Limitations 0m What limitations has the demo version?
0m1m2. Installation0m
3m Installation 0m How can I install it?
0m1m3. General information0m
3m Raytracing 0m What is raytracing?
3m Octree 0m What is an octree?
3m Antialiasing 0m What is antialiasing?
3m Depth of field 0m What is Depth of Field?
3m Soft shadows 0m What are soft shadows?
3m Shadow map 0m What is a shadow map?
3m Motion Blur 0m What is Motion Blur?
3m Surfaces 0m What meaning have the surface parameters?
3m CSG 0m What is CSG?
3m Hyper textures 0m What are hyper textures?
3m Surface of revolution0m What is a surface of revolution?
3m Directory Structure 0m Some words to directory and project structures.
3m Virtual Memory 0m How do I use virutal memory?
3m Internals 0m Some internal details.
3m Tips & Tricks 0m Useful tips,tricks and hints (FAQ)
3m Textures 0m How do I use textures?
3m RAW object format 0m Description of RAW object files.
0m1m3. Scenario Usage0m
3m Usage 0m How do I use Scenario?
3m Browser 0m How do I use the object browser?
3m Material manager 0m How do I use the material manager?
3m Menus 0m Description of the menus.
3m Buttons 0m Description of the buttons.
3m Object Menus 0m Description of object orientated menus.
3m Keyboard Control 0m How do I use Scenario with the keyboard?
3m ARexx interface 0m Which ARexx commands does it have?
0m1m4. Script Usage0m
3m ARexx interface 0m Which ARexx commands does it have?
3m Examples 0m How do I use the examples?
3m Tutorials 0m Some tutorials
0m1m5. Registration0m
3m Register 0m Please register to support the shareware concept.
0m1m6. Misc0m
3m Known Bugs 0m Bugs
3m Credits 0m Thanks go to...
3m Authors 0m Who wrote it?
3m Literature 0m Which books do we use?
3m PC-Version 0m Where can I get the PC-version?
3m Homepage 0m Where to find us on the World Wide Web.
3m History 0m What happened in the past?
3m Future 0m What is planned for the future?
0m1m7. Legal Stuff0m
3m Legal Stuff 0m Legal stuff
0m1mINTRODUCTION0m
This document describes the raytracing package RayStorm. The package consists
of two parts:
- The scene modeler 0m1mScenario0m which is the graphical user interface
(GUI) of the RayStorm package.
- The script interface 0m1mRayStorm Script0m, a program wich allowes one
to use the raytracer through a script language.
- The heart of RayStorm: 0m1mRayStorm Raytracer0m, wich generates the
picture from a scene description (this part is not visible to the user
but nevertheless it's the main part).
Here are some additional informations to the parts:
3mRayStorm Scenario0m
3mRayStorm Script0m
3mRayStorm Raytracer0m
0m1mINTRODUCTION TO SCENARIO0m
As we developed Scenario we tried to make the user interface to use as
easy as possible to enable even absolute beginners to work with it. Therefore
almost all actions can be performed with the mouse. For advanced users we
implemented keyboard shortcuts for almost all functions.
Scenario can load a project at startup. For this start it with the name of a
directory as argument or from Workbench by selecting the project drawer and
double clicking the Scenario icon.
A detailed introduction can be found 3mhere0m.
0m1mINTRODUCTION TO RAYSTORM SCRIPT0m
The script language that contains the description of the scene is easy to
learn and offers some powerful capabilities. In addition, the script language
has a full support for key frame animation.
A RayStorm script file (.ray files) is basically divided into the following
sections:
- Various settings of the camera, the world and the lights,
- Definitions of the different textured surfaces,
- Different actors that set the Motion Blur and animation parameters,
- Objects that are associated with surfaces and actors
- Settings for the final rendered graphic.
For a more detailed description click 3mhere0m.
0m1mINTRODUCTION TO RAYSTORM RAYTRACER0m
The raytracer itself is a part to RayStorm which is not directly visible.
All features of the raytracer are packed into a shared library. Both Scenario
and RayStorm Script use this library to render their scenes.
The raytracer is based on a fast octree algorithm. It has some powerfull
features such as 3mMotion Blur0m, 3mSoft Shadows0m and
3mDepth of Field0m.
0m1mGENERAL0m
Raytracing makes it possible to generate fotorealistic pictures of objects.
A raytracer casts a ray form the position of the viewer through a scene
and calculates possible intersections with the objects in that scene. If an
intersection is found, the raytracer decides which color the object
at this position has. If the object is reflective or transparent, the
raytracer casts new rays from this positon and tests the intersections
again and so on.
To make the surfaces of the objects more realistic, textures which
simulate marble, wood other surfaces can be used.
0m1mOCTREE0m
Simple raytracers determine the intersections with objects by testing all
objects. This can lead to long rendering times if there are a lot of
objects in the scene.
One solution of this problem is the Octree algorithm.
This algorithm divides the scene into eight child-cells recursively until
there is less than oe object in the cell or the maximum depth of the tree is reached.
Division of space with the octree algorithm:
_
/| z
/
/-------/-------/|
^ y/ / / |
| / left / right / b|
|/ / / |a|
|-------/-------| f|c|
| | r|k|
| up | o| /
|---------------| n|/
| | t|
| down | / x
|---------------|/-->
0m1mANTIALIASING0m
RayStorm uses a algorithm called 'Adaptive Supersampling' to do antialiasing.
For each pixel with a high contrast against its four neighbours, the algorithm
casts new rays which are close to the ray used for the pixel itself. The new
color of the pixel is calculated with the supersampled pixels and the gaussian
filter.
Supersampling is also used to do 3mdepth of field0m and 3msoft shadows0m. So if
you want to use this features you have to set a antialiasing value greater
than one. (-> 3mANTIALIAS0m)
Example:
Settings: squareroot of number of samples per pixel: 3
|--------|--------|--------|
| super- | super- | super- |
| sampled| sampled| sampled|
| | | |
|--------|--------|--------|
| super- | | super- |
| sampled| pixel | sampled|
| | | |
|--------|--------|--------|
| super- | super- | super- |
| sampled| sampled| sampled|
| | | |
|--------|--------|--------|
|- Gaussian filter width -|
The rendering time increases dramatically if you use antialiasing. The
values below depend on the contrast of the picture.
Samplesetting rendering time
average case worst case
1 x1 x1
2 x2 x4
3 x4 x8
4 x8 x16
... ... ...
Setting higher than 3 are not leading to significant better results.
0m1mDEPTH OF FIELD0m
Objects in computer graphics are normally rendered in an image plane
using a pinhole camera model. That is to say, no matter how far or how
near the objects are from the camera, they are always in sharp focus.
Depth of field means that only objects at a certain distance from the
camera lens are in sharp focus. Further and nearer objects produce a
blurred image on the film plane.
[From 'Advanced Animation and Rendering Techniques']
To use depth of field you have to set 3mANTIALIAS0m to a value bigger
than one.
3mExample for DOF0m
0m1mSOFT SHADOWS0m
Real Light sources never have a zero size, therefore the shadows behind
objects are never hard edged, they are soft. RayStorm generates this
shadows by jittering the position of the light source. To use soft shadows
you must set 3mDISTRIB0m to a value bigger than one.
0m1mSHADOW MAP0m
A shadow map is a depth map with the light source in the center. If a ray
hits an object the distance between this hit point is calculated and compared
with the depth found in the shadow map. If distance from the hitpoint is
less than the value in the depth map, the object is in shadow.
The problem with this concept is that transparent objects cast dark shadows.
For example a green glas sphere which is illumated with a lightsource without
shadow map will cast a green shadow, with shadowmap the shadow will be black.
Because of limitiations of the memory all depth values in all possible
directions can't be stored. Therefore the strength of the shadow is interpolated,
and the shadow is not sharp like the normal calculated shadow.
The shadowmap is calculated in spherical coordinates, this means for a size
of the shadowmap of 128 RayStorm calculates 128x64=8192 samples. For each sample
on float value (4 bytes) is stored. This means that a shadow map with size 128
needs 128x64x4=32768 bytes of memory. Note that 0m1mevery0m light source
with shadow map enabled needs its own shadowmap.
0m1mMOTION BLUR0m
Motion blur is temporal anti-aliasing. In animated sequences, the normal
rendering process functions like a camera that possesses an infinitely
short exposure time and this eliminates the blurring of the image due
to relative motion between an object and the film plane. When a series of
images, generated without motion blur, is displayed as an animated
sequence, the illusion of smooth motion is diminished by strobing effects.
As human beings we expect to see loss of detail in moving images.
Motion blur is accounted for in distributed ray tracing by extending the
distributed sampling and jittering into the time domain and computing a
solution that extracts information from the scen over the duration of the
shutter exposure time. Objects are moved as required in the time period
and visibility consequently changes over this time intervall. This method
ensures that highlights and shadows are blurred or not, depending on the
nature of the motion.
[From '3mAdvanced Animation and Rendering Techniques0m']
0m1mSURFACES0m
Ambient (set with AMBIENT)
This determines the color of the object in sections which are in shadow.
Diffuse reflection (set with DIFFUSE)
The diffuse reflection falls off as the cosine of the angle between
the normal and the ray to the light. Diffuse reflection determines the
main color of the object (color in Imagine).
Specularly reflected highlights (set with SPECULAR)
Specularly reflected highlights fall off as the cosine of the angle
between the reflected ray and the ray to the light source (specular in
Imagine)
Specular reflection exponent (set with REFEXP)
Determines the size of the specularly reflected highlights, the higher
the smaller the highlight (hardness in Imagine)
Diffuse transmission (set with DIFFTRANS)
Same as diffuse reflection, but only used if the lightsource is on
opposite side of surface. Only applied if tranlucency is not 0.
Specular transmission (set with SPECTRANS)
Same as specular reflection, but only used if the lightsource is on
opposite side of surface. Only applied if tranlucency is not 0.
Specular transmission exponent (set with TRANSEXP)
Same as specular reflection exponent, but only used if the lightsource
is on opposite side of surface.
Specular transmittance (set with TRANSLUC)
Specular transmittance.
Transparency (set with TRANSPAR)
Transparent color (filter in Imagine).
Reflectivity (set with REFLECT)
Reflective color (reflect in Imagine).
Fog length (set with FOGLEN) (fog in Imagine).
Index of refraction (set with REFRINDEX)
Determines how the ray through transparent objects is refracted, the higher
the more (index of refraction in Imagine).
Is calculated with the formula
lightspeed in vacuum
index = ----------------------
lightspeed in object .
0m1mCSG0m
The idea of Constructive Solid Geometry (CSG) is to combine to or more
primitives with logical operations to produes a new shape. The operations
needed for CSG are union, intersection, and difference.
With the intersection operator you can combine two objects, and the new shape
consists of all points which are inside the first 0m1mand0m the second
object. Points inside one of the objects, but not the other are not part of the
shape.
If you combine two objects with the union operator, the new shape consists
of all points which are inside either the first or the second object, or
inside both objects.
With the difference operator you can cut out a piece of an object with another
object. The first object is the object that is being 'cut' by the second
object.
0m1mHYPER TEXTURES0m
Many objects, such as fur or woven materials, have a complex definition which
is at best awkward, and at worst impossible, to discribe by a surface model.
For other objects, such as eroded materials or fluids, a highly complex
boundary is actually an arifact of a process hat is often more readily
describet volumetrically. Still other objects, such as flame, clouds, or smoke,
don't actually hav a well defined boundary surface at all.
Hyper textures consist of a base-shape which have a hard region where they are
completely solid, and a soft region where they are indeterminate. Whenever we
are in the soft region, we can apply a toolkit of shaping functions, allowing
the flexibility to create and manipulate volumetric form.
[From: '3mHypertexture0m']
0m1mSURFACE OF REVOLUTION0m
For surfaces of revolution (SOR) objects a curve is rotated around a axis. This
curve describes the dependence of the radius from the position of the axis. The
curve is described by two-dimensional vectors consisting of the radius and the
corresponding height. These points are smoothly connected and rotated about the
y-axis. The first and the last points are only used to determine the slopes of
the function at the start and end point. To any given point on the rotation axis
belongs at most one function value. You can't rotate closed curves.
SOR is based on the work of Peter Bruger and Duncan Gillies in their book
3mInteractive Computer Graphics0m. If you want to know more about the mathematical
background you can find it there.
0m1mDIRECTORY AND PROJECT STRUCTURE0m
scenario the root directory of scenario
|-brushes the brush directory (you can create subdirectories here)
| |- brush 1
| |- brush 2
| |- ...
| |- brush n
|-objects the objects directory (you can create subdirectories here)
| |- object 1
| |- object 1
| |- ...
| |- object n
|-textures the textures directory (you can create subdirectories here)
| |- texture 1
| |- texture 2
| |- ...
| |- texture n
|-projects the projects directory (Scenario creates for every project a subdirectory)
|-project 1 the first project
| |- project.scn the file where the scene is stored (should have the ending '.scn')
| |-brushes the directory for brushes which are local to this project
| | |- ...
| |-objects the directory for objects which are local to this object
| | |- ...
| |- pic.0001 the rendered pictures
| |- pic.0002
| |- ...
| |- pic.n
|- project 2 another project
|- ...
|- project n
The default project directory can be set with the 3mpreferences0m.
0m1mVIRTUAL MEMORY0m
RayStorm has been succesfully tested with VMM 3.1 from Martin Apel. If you
want use RayStorm with virtual memory notice follwing hints:
- set Minimum VM allocation to 100 bytes if you define large scenes with
many objects, because RayStorm only allocates small pieces of memory for
single objects (less then 200 bytes). If you're loading external objects
RayStorm allocates big blocks of memory so you don't have to set Minimum
VM allocation to 100.
- use a partition or a pseudo-partition for VMM, this is faster
0m1mINTERNALS0m
The development of RayStorm has started in march 1995.
0m1mCompiler0m
- Amiga
Originally, RayStorm has been developed on Amiga using Maxon C++ 3.0
Developer. The final Amiga version was compiled with StormC 3.0.
- PC
The PC version was compiled with WATCOM C++ 10.5 and Visual C 4.2.
0m1mMemory requirements of the raytracer0m
Triangle: 154 Bytes + 36 Bytes if Phong shaded
Sphere: 82 Bytes
Plane: 78 Bytes
Box: 122 Bytes
Cylinder: 174 Bytes
Cone: 174 Bytes
SOR: 206 Bytes + 28 Bytes per point
Surface: 122 Bytes
Screenbuffer: 4 Bytes per pixel
Memory requirements of the octree depends on the scene.
0m1mSource Code0m
About 90.000 lines of C++-Code in more than 300 modules (about
2.1 MByte of source).
0m1mRAW OBJECT FORMAT0m
RAW files are simple ASCII based descriptions of triangle objects. The file
consits of object sections which start with a name. This name is followed
by several triangle definitions. A RAW file consists of unlimited object
sections. Below is an example of a simple RAW file which describes two objects.
Plane
-1 -1 0 1 -1 0 1 1 0
-1 -1 0 -1 1 0 1 1 0
House
-3 -1 0 -2 -1 0 -2 1 0
-3 -1 0 -3 1 0 -2 1 0
-3 1 0 -2.5 2 0 -2 1 0
0m1mREQUIREMENTS0m
(1) You will need at least Kickstart 2.0.
(2) PPC-version: PowerPC processor with 68040
(3) 060-version: 68060 processor (with internal FPU)
(4) 040-version: 68040 processor (with internal FPU)
(5) 881-version: 68020 processor or better and a mathematical coprocessor)
(6) 4MB RAM minimum
(7) RayStorm was written using MUI. Therefore you need muimaster.library
V3.3 or better to run RayStorm.
recommended: 68060, 32MB RAM, 1GB Harddisk, GFX-Board
The faster the better :-).
Tested with:
A1200 68030/50, 6MB, 200MB HD
A2000 68040/30, 24MB, 250+250MB HD, Merlin Gfx-board
A2000 68030/14, 68882/20, 4MB, 720+52MB HD
A4000 68060/50, PPC 604e, 76MB, 4.3GB HD, Cybervision 64 Gfx-board
0m1mFEATURES0m
0m1mScenario0m
- Create spheres, planes, boxes, cylinders, cones, lightsources, cameras and
CSG objects
- Create mesh objects: cubes, spheres, planes, tubes and cones
- Create and maintain CSG structures
- Each object can track each other
- Unlimited amount of cameras to view scene from different positions
- Define surfaces for all objects, including brushes and textures
- Load external objects (RayStorm object files, Imagine TDDD files,
Ligtwave LWOB files, AutoDesk 3DS files and RAW files)
- Save and load scenes
- Save and load objects
- Group and ungroup objects
- Preview of surfaces in material requester
- Render scenes with RayStorm Raytracer
- Preview of renderd scenes
- Quadview
- Multilevel undo (only memory limited) and redo
- Status bar
- Object browser with drag & drop
- Material manager with fast preview
- OpenGL support
- CyberGFX support
- ARexx port
0m1mRayStorm Script0m
- ARexx port with 47 commands.
0m1mRayStorm Raytracer0m
- Octree algorithm used for rendering.
- Motion blur for realistic simulations of moving objects.
- Color, reflectivity, filter, altitude and specular mapping.
- Flat, cylinder and sphere mapping.
- Soft brush mapping.
- Mathematical textures: wood, marble, bumps, checker, linear, radial, stars
and fire.
- Hyper textures: explode.
- Tranparency and physically correct refractions.
- 8 levels of antialiasing (adaptive supersampling).
- Rendering box.
- Seven builtin object types: sphere, plane, box, cylinder, cone, surface of
revolution and triangle.
- CSG (Constructive Solid Geometry) with the operators: union, intersection,
difference and invert.
- Three light types: ambient, point and spot.
- Depth of field with adjustable focal distance and aperture.
- Soft shadows.
- Backdrop picture.
- Global fog and foggy objects.
- Material attributes for realistic objects: ambient color, diffuse color,
specular color, specular reflection exponent, diffuse transmission color,
specular transmission color, specular transmission exponent, specular
transmittance, transparent color, reflective color, index of refraction,
foglength.
- Bright objects.
- Quick rendering.
- Global reflection map.
- Image formates: IFF-ILBM, PNG, TGA, JPEG and Datatypes.
- Object formates: RayStorm object file, Imagine TDDD, Lightwave LWOB,
AutoDesk 3DS, NFF and RAW
- New image- and object-formats can be easily included because of the
modular concept.
- Shadowcache for faster shadow calculation.
- Shadowmap with definable size for each lightsource for smooth and fast
shadows.
- Definable limited amount of objects for avoiding the creation of octree.
0m1mLIMITATIONS0m
This demo version can't save pictures. The registered version does not have
any limitations.
Click 3mhere0m for information on how to register RayStorm.
0m1mINSTALLATION0m
There is a installation script included in the archive which uses the
Commodore Installer. Run it to install RayStorm Scenario.
0m1mUSAGE0m
After you have started Scenario you see the worksheet.
At the top of the sheet are the buttons to manage projects, to control the
mesh editing modes, the view mode, the display mode, the edit mode, enable
the selection box and to control the currently active directions.
Below this button bar is the work area. It is devided in three sections: the
draw area, the browser section and the material manager. At startup you can
see a grid and the camera in the middle of the draw area (note: there must
always remain at least one camera in the scene). In the 3mbrowser section0m you
can see all objects of the scene, in a new scene there is only the camera.
The objects can be sorted by drag and drop. The 3mmaterial manager0m helps you
to handle the different material in the scene. In a new scene there is no
material defined.
At the bottom of the window is a status bar which displays the name of the
selected object (if more than one object is selected, the name of the first
object is displayed), the name of the active camera and the current cursor
coordinates if the coordinate display is enabled (see 3mShow Coordinates0m).
All objects, cameras and light sources have an axis to handle it. The axis
consist of a rectangular area - the hot spot or handle - and three lines
which show the orientation of the axis. The axis can be selected by clicking
with the left mouse button at the handle. If it is selected the color of
the axis and the object changes.
Clicking with the left mouse button invokes the modify mode. According to the
slected mode (move, rotate or scale) the world or the selected object(s) can
be modified.
Clicking with the right mouse button open object specific menus (see
3mObject Menus0m).
Scenario also has a ARexx port, for a more detailed description click 3mhere0m.
0m1mOBJECT BROWSER0m
The object browser helps you to manage the objects in your scene. With
it you can select objects, change the hierarchy of a scene and you have
access to the object menus. One browser line is divided in four parts:
- the tree handles
- a little image which indicates the type of the object (3mhere0m are all
images)
- the object name
- a thumbnail image which shows the material, which is assigned to the
object
3mHere0m you can see a example for the contents of the object browser.
The hierachiy of the objects can be changed by drag and drop. For this
click with the left mouse buton on an object, and hold the mouse button
down. Now the browser entry is attached to the pointer and you can move
the object. If you move the pointer over another entry in the browser one
or more dotted lines indicates where the dragged object is dropped. A
line above the browser entry indicates that the dragged object is inserted
above the browser entry. Two lines, one above and one below indicates that
the dragged object is inserted as a child of the browser entry. A line
below the browser entry indicates that the object is inserted below the
browser entry.
0m1mMaterial Manager0m
The material manager helps you to manage the materials of the scene. Although
the material manager is empty in new scene, one material is already defined.
This material is assigned to all new created objects and can not be changed.
A new material is created by pressing the right mouse button in the material
manager area, and selecting 'New' from the menu, or by selecting 'New' from
the 'Material' menu. This menu contains the following points:
- New: creates a new material.
- Load new...: opens a file requester to select a material file,
creates a new material and loads the material data
and assigns it to the new created material.
- Remove unused: removes all materials which are not assigned to an
object.
- Remove identical: removes all materials which are double. This is
useful if you have loaded external objects with
many identical materials.
If you press the right mouse button over a material item another menu opens:
- New: creates a new material
- Load...: loads the material data from a material file to the
current material.
- Save...: saves the material data to a material file.
- Delete: deletes the material.
- Properties...: opens the material requester for this material.
- Assign to selected...: assigns the material to the currently selected
objects.
To assign a material to an object press the left mouse button over a material,
hold it down, drag it to an object in the object browser and release the button.
If you double click a material the material settings requester is opened.
You can change the name of the material by editing the name string on the
buttom of the material item.
0m1mMENUS0m
Project
3m New 0m
3m Open... 0m
3m Save 0m
3m Save As... 0m
3m Render settings...0m
3m Set Render Window 0m
3m Render 0m
3m Recent file 0m
3m About... 0m
3m Quit 0m
Edit
3m Undo 0m
3m Redo 0m
3m Cut 0m
3m Copy 0m
3m Paste 0m
3m Delete 0m
3m Select all 0m
3m Deselect all 0m
3m Select next 0m
3m Select previous 0m
3m Mode 0m
3m Active 0m
View
3m Redraw 0m
3m Focus 0m
3m Zoom in 0m
3m Zoom out 0m
3m Zoom fit 0m
3m View 0m
3m Camera to viewer 0m
3m Grid 0m
3m Snap to Grid 0m
3m Gridsize... 0m
3m Show 0m
3m Global settings...0m
3m Browser 0m
3m Material manager 0m
Object
3m Attributes... 0m
3m Settings... 0m
3m Group 0m
3m UnGroup 0m
3m Load... 0m
3m Save... 0m
3m Primitives 0m
3m Lights 0m
3m Meshes 0m
3m Active Camera... 0m
Material
3m New 0m
3m Load new... 0m
3m Remove unused 0m
3m Remove identical 0m
Settings
3m Prefs... 0m
3m MUI... 0m
3m Load 0m
3m Save 0m
0m1mNEW PROJECT0m
Deletes all objects and materials. Resets the scene and creates the default
camera.
0m1mOPEN PROJECT0m
Loads a new scene.
0m1mSAVE PROJECT0m
Saves the current scene.
0m1mSAVE PROJECT AS0m
Saves the current scene with the specified name.
0m1mRENDER SETTINGS0m
Opens the render settings requester. The requester is divides in three pages.
On the 3mfirst page0m you can select predefined render resolutions with a listview
or enter the values to numeric fields. The values range from 0 to 65535.
The resolution presets can be defined in a file named 'prefs/res.dat'. This file
is a text file which can be edited with a text editor. The format of this file is:
0m1m<name>,<resolution in x direction>,<resolution in y direction>0m.
A example for the contents of this file is:
0m3mPAL 160x128,160,128
NTSC 160x120,160,1200m
On this page you also can also enable the rendering field. RayStorm renders
only inside this field. The field is shown in the perspective window if camera
view is switched on.
On the 3msecond page0m are settings which affect the rendering process. The 'Quick'
flag selects the quick rendering mode. In this mode RayStorm don't calculates
shadows, transparency or reflections.
The 'Octree depth' slider sets the maximum depth of the octree which RayStorm
uses. For almost all scenes a vlaue of three is the best, but in complex scenes
it may be better to use higher values. The higher this value is the longer
takes the initialazion phase and the more memory is needed.
The 'Min. Objects' slider sets the amount of objects upto which no octree is
generated. If ther is a small amount of objects in the scene it's sometimes
better not to build the octree due to the overhead of the intersection test.
This value depends on your scene, for about 3 to 5 objects it's better not
to use the octree. But if you want to render scenes with motion blur it's
better to set this value to zero because this is faster.
Ont the 3mthird page0m are output related gadgets.
The 'Filename' string gadget sets the filename of the generated picture and the
cycle gadget sets the fileformat. You can show the rendered picture with the
view button (the camera left to the filename).
The 'Show' flag enables the direct showing of the picture while the
render process is running (needs KS 3.0 or better).
The 'Ok' button closes the requester and stores the current settings, whereas
the 'Cancel' button don't change the settings.
0m1mSET RENDER WINDOW0m
You can set a window in which RayStorm will render the scene. This window is
shown in the perspective view if camera view is switched on. The render
window can be set with the mouse. If you select this menu item it gets
checked. After this you can set the render window by pressing and holding
the left mouse button while you set the render window. After releasing the
mouse button the new render window is set and the enabled.
You can enable and disable the render window in the
3mRender Settings requester0m.
0m1mRENDER PROJECT0m
Renders the current scene. The 3mrender window0m link is opened.
At the begining only the 0m3mCancel0m button is enabled. With this button
you can break the rendering process. The currently renderd part of the
picture is saved and all memory is freed.
After RayStorm finished rendering the 0m3mOk0m and 0m3mShow0m button
is enabled. The
button calls the view program which you set in the 3msettings requester0m.
0m1mRECENT FILE0m
Here you can select the four recently loaded projects.
0m1mAbout0m
Shows the about requester with the version number and the current Arexx port
name.
0m1mQUIT0m
Quits Scenario.
0m1mUNDO0m
Undos the last operation. Follwoing actions can be undone:
- transformation (position, alignment, size)
- delete
- cut
- create
- load object
0m1mREDO0m
Redos the last undone operation.
0m1mCUT0m
Moves the currently selected objects to the paste buffer.
0m1mCOPY0m
Copys the currently selected objects to the paste buffer.
0m1mPASTE0m
Copys the currently selected objects from the paste buffer to the scene.
0m1mDELETE0m
Deletes the currently selected objects. The active camera can't be deleted.
0m1mSELECT ALL0m
Selects all objects.
0m1mDESELECT ALL0m
Deselects all objects.
0m1mSELECT NEXT0m
Selects the next object.
0m1mSELECT PREVIOUS0m
Selects the previous object.
0m1mMODE0m
Sets the edit mode:
Move object
Rotate object
Scale object
Move world
Rotate world
Zoom world
0m1mACTIVE0m
Sets the active directions:
X, Y, Z.
0m1mREDRAW0m
Redraws the work area.
0m1mFOCUS0m
Sets the zoom factor so that all selected objects are visible.
0m1mZOOM IN0m
Zooms out by factor two.
0m1mZOOM OUT0m
Zooms in by factor two.
0m1mZOOM FIT0m
Sets the zoom factor so that the whole scene is visible.
0m1mVIEW0m
Sets the view mode:
Front, Right, Top, Perspective, Four, Camera.
0m1mCAMERA TO VIEWER0m
Moves the camera to the the position of the virtual camera, roatates the
camera and sets the opening angles (horizontal and vertial field of view).
0m1mGRID0m
Switches grid on/off.
0m1mSNAP TO GRID0m
Switches grid snapping on/off.
0m1mGRID SIZE0m
Sets grid size.
0m1mSHOW0m
3m Coordinates 0m
3m Names 0m
3m All objects 0m
3m Cameras 0m
3m Brushes 0m
3m Textures 0m
3m Lights 0m
3m Meshes 0m
3m Spheres 0m
3m Boxes 0m
3m Cylinders 0m
3m Cones 0m
3m SOR 0m
3m Planes 0m
3m CSG 0m
0m1mSHOW COORDINATES0m
Switches coordinate display on/off.
0m1mSHOW NAMES0m
Sets the show names mode on/off.
0m1mSHOW ALL OBJECTS0m
Enables the displaying of all types of objects.
0m1mSHOW CAMERAS0m
If this item is selected then the cameras are shown.
0m1mSHOW BRUSHES0m
If this item is selected then the brushes are shown.
0m1mSHOW TEXTURES0m
If this item is selected then the textures are shown.
0m1mSHOW LIGHTS0m
If this item is selected then the lights are shown.
0m1mSHOW MESHES0m
If this item is selected then the meshes are shown.
0m1mSHOW SPHERES0m
If this item is selected then the spheres are shown.
0m1mSHOW BOXES0m
If this item is selected then the boxes are shown.
0m1mSHOW CYLINDERS0m
If this item is selected then the cylinders are shown.
0m1mSHOW CONES0m
If this item is selected then the cones are shown.
0m1mSHOW SOR0m
If this item is selected then the SOR's are shown.
0m1mSHOW PLANES0m
If this item is selected then the planes are shown.
0m1mSHOW CSG0m
If this item is selected then the CSG's are shown.
0m1mGlobal0m
Opens the global settings requester. Here you can change the global scene
settings. The requester is divided in two pages.
On the 3mfirst page0m you can set enviroment values.
The 'Background' colorfield sets the color of the background of the rendered
picture.
The 'Ambient' colorfield sets color of the ambient light which is the base
brightness of all objects. In other words: surfaces which are not illuminated
by a light source get the ambient color.
With the 'Backdrop' string gadget you can enter a picture which will replace
the background.
The 'Reflectionmap' string gadget sets the name of a picture which will be
reflected by objects instead of the background. The reflectionmap is even
applied in quick mode.
The global fog parameters are controlled with the gadgets of the next group.
'Length' sets the thickness of the fog. The 'Color' colorfield determines the
color of the fog. 'Height' sets the height at which the fog ends. Global fog
always starts at negative infinity in y direction and and at the specified y
position.
The 3mnext page0m of gadgets sets the 3mantialiasing0m parameters. The
antialiasing value ranges from 2x2 (low antialiasing) to 8x8 (very high
antialiasing). This slider sets the amount of rays per pixel. 2x2 means that
there are 4 rays casted per pixel. Filter width sets the maximum distance from
the main ray to the additional generated rays in pixels. The 'Contrast'
colorfield sets the minimum contrast. If the contrast of the main pixel against
its four neighbours is higher than this color, RayStorm performs antialiasing
at this pixel. For more information about antialiasing click 3mhere0m.
The last group controls soft shadows. The 'Softshadow' cyle gadget sets the level
of oversampling (additional casted rays) for soft shadows. Soft shadows are caused
from light sources with a size bigger than 0. For more information about soft
shadows click 3mhere0m. The 'Random jitter' flag switches between normal
and random sampling. With random sampling the sampling position is calculated
randomly.
0m1mBROWSER0m
Switches the object browser on/off.
0m1mMATERIAL MANAGER0m
Switches the material manager on/off.
0m1mATTRIBUTES0m
Opens the attribute requester for the currently selected object, if no object
is selected no requester is opened.
Here you can set the parameters which determine the apperance of the surface.
The requester is divided into three groups:
- 3mSurface0m
At this page you can set the base apperance of the surface.
- Diffuse
The diffuse reflection falls off as the cosine of the angle between
the normal and the ray to the light. Diffuse reflection determines
the main color of the object.
- Ambient
This determines the color of the object in sections which are in
shadow.
- Specular
Specularly reflected highlights fall off as the cosine of the angle
between the reflected ray and the ray to the light source.
- Diffuse Transmission
Same as diffuse reflection, but only used if the lightsource is on
opposite side of surface. Only applied if tranlucency is not 0.
- Transparence
Transparent color.
- Specular Transmission
Same as specular reflection, but only used if the lightsource is on
opposite side of surface. Only applied if tranlucency is not 0.
- Reflectivity
Reflective color.
- Translucency
Specular transmittance.
- Reflection exponent
Determines the size of the specularly reflected highlights, the higher
the smaller the highlight.
- Index of refraction
Determines how the ray through transparent objects is refracted, the
higher the more.
- Transmission exponent
Same as specular reflection exponent, but only used if the lightsource
is on opposite side of surface.
- Fog length
- Bright
The brightness of the surface is everywhere the same. Light sources don't
affect the surface, no shadows are visible on the surface, but the object
casts shadows.
- 3mBrush0m
Brushes are pictures which are projected to the surface. They can replace
different surface parameters as color, transparency, reflectivity and
specularity. Additional with altitude mapping brushes can change the normals
of the surface to simulate bumps or other structures which go 'in' or come
'out' of the surface.
There are three wrap methods available:
- flat (Flat)
The brush is projected to X-Y plane.
- cylindrical around x- or y-axis (WrapX and WrapY)
The brush is wrapped around the x or y-axis, like on a cylinder. The left
edge of the brush begins at the posititve x-axis and wraps the brush around
the cylinder from 'west' to 'east'.
- spherical (WrapXY)
Wrapping both: around x- and y-axis. It is assumed, that the object is a
sphere. The y-axis is the north/south pole of the spherical mapping. The
left edge of the brush begins at the positive x-axis and wraps the brush
around the sphere from 'west' to 'east'. The brush covers the sphere
exactly once.
Additional brushes can be repeated and mirrored (only for flat or cylindrical
mapping). If 'Soft' is selected, the color between two points of the brush is
softly interpolated.
RayStorm has integrated loader modules for IFF-ILBM, Targa, JPEG and PNG pictures.
Also Datatypes (including the new 24 bit versions) are supported, so you can
load nearly each picture format.
The position, alignment and size of the brush can be set if you enable the
3mshow brushes0m menu item.
- 3mTexture0m
Textures are mathematical generated patterns. Textures can change color,
reflectivity, transparency and normals of a surface. Textures are controlled
with a set of 16 parameters.
The position, alignment and size of the texture can be set if you enable the
3mshow textures0m menu item.
0m1mPreview0m
Renders a preview of the surface on a sphere (only for KS 3.0 and better).
The light source is always placed right top before the sphere.
All surface attributes can be viewed here except brushes and fog.
If reflectivity is set the RayStorm logo is reflected on the surface.
0m1mSave0m
Saves the surface data.
0m1mLoad0m
Loads surface data.
0m1mSettings0m
Opens the 3msettings requester0m for the currently selected object.
On the first page you can set the name, track, invert CSG flag, position, alignment
and size of an object.
With 0m3mTrack0m you can set the name of an object the object will track to.
This means that the object will always point with it's z direction to the axis
of the track object.
If the object can be used for CSG then you can invert it with the invert CSG
flag.
With the second page you can change object settings. The contents of
this page depends on the object type.
3mCamera 0m
3mCone 0m
3mCSG 0m
3mCylinder 0m
3mDirectional light0m
3mMesh 0m
3mPoint light 0m
3mSOR 0m
3mSpot light 0m
0m1mCAMERA SETTINGS0m
With the 3mcamera settings requester0m you can set various paramaters, which
influence the camera.
0m3mFocal distance0m and 0m3mAperture0m set the parameters for
3mDepth of Field0m. If you select 0m3mFocus Track0m and the camera tracks
to an object the focal distance of the camera is automatically set to the
distance between camera and track. 0m3mFast DOF0m enables a faster version
of the algorithm which can't handle transparent and reflective objects in the
right way.
With the values of 0m3mHorizontal0m and 0m3mVertical0m field of view you
can set the opening angle of the camera lens. If you activate the button
0m3mTake VFOV from resolution0m Scenario calculates the vertical field of
view (VFOV) from the resolution and the horizontal field of view (HFOV). An
Example will demonstrate this. You selected a HFOV of 30 degree and a
resolution of 800x600 pixels. This means that the VFOV is
600 / 800 * 30 = 22.5 degree.
0m1mCONE SETTINGS0m
The 3mcone settings0m requester has a checkmark item with which
you can remove the bottom cap. Note that a cone without caps should not be
used with 3mCSG0m.
0m1mCSG SETTINGS0m
The 3mCSG settings0m requester has a cycle gadget to select
the CSG operation. See 3mhere0m for more about CSG.
0m1mCYLINDER SETTINGS0m
The 3mcylinder settings0m requester has two checkmark items with which
you can remove the top and bottom caps. Note that a cylinder without caps should
not be used with 3mCSG0m.
0m1mMESH SETTINGS0m
The mesh settings requester is different for external and normal object.
For normal objects the requester looks like 3mthis0m.
If 0m3mNo phong shading0m is activated the mesh object is rendered
without soft interpolation of the surface brightness. The object looks
like made of single facetts.
For external objects the requester looks like 3mthis0m.
0m3mObject filename0m sets the the name of the external object which is
attached with the mesh object.
If 0m3mApply surface to childs0m is activated the surface of the mesh
object is applied to the surface of the attached external object.
0m1mPOINT AND DIRECTIONAL LIGHT SETTINGS0m
With the 3mlight settings requester0m you can set various paramaters which
influence the light.
0m3mColor0m sets the color of the light source.
0m3mFalloff0m is the distance where the intensity of the light source is
zero. A value of zero disables it.
If 0m3mFalloff from track distance0m is set, Scenario sets the falloff
distance to the distance to the track. This option is only selectable if the
light source is tracking to another object.
0m3mCast shadows0m enables the light source to cast shadows.
0m3mLens flares0m enables the 3mlens flare settings0m.
0m3mVisible light0m enables the 3mvisible light settings0m.
In the 0m3mShadowmap0m section you can set values concerning the shadowmap of
this light source. For more information to shadow maps click 3mhere0m.
0m1mSOR SETTINGS0m
The 3mSOR settings0m requester has two checkmark items with which
you can remove the top and bottom caps. Note that a sor without caps should
not be used with 3mCSG0m.
With the cycle gadget you can select the algorithm which is used for rendering
the SOR. If the object don't looks like it should after you rendered it, select
the slow and accurate algorithm, else use the fast algorithm.
0m1mSPOT LIGHT SETTINGS0m
With the 3mlight settings requester0m you can set various paramaters which
influence the light.
0m3mColor0m sets the color of the light source.
0m3mFalloff0m is the distance where the intensity of the light source is
zero. A value of zero disables it.
If 0m3mFalloff from track distance0m is set, Scenario sets the falloff
distance to the distance to the track. This option is only selectable if the
light source is tracking to another object.
0m3mOpening angle0m sets the opening angle of a spotlightsource in degree.
0m3mSoft Spot %0m is a value that determines how big the area is where the
light intensity of the spot light gradually gets lower. A value of 100 % means
that the whole area which is lit by the spot light receives the full light
intensity. 50 % means for example that there is full intensity from the center
of the spot to 50 % of the opening angle and then the intensity gets lower and
lower until an intensity of zero at the opening angle.
0m3mCast shadows0m enables the light source to cast shadows.
0m3mLens flares0m enables the 3mlens flare settings0m.
0m3mVisible light0m enables the 3mvisible light settings0m.
In the 0m3mShadowmap0m section you can set values concerning the shadowmap of
this light source. For more information to shadow maps click 3mhere0m.
0m1mLENS FLARES0m
With the 3mlens flare settings0m you can create and change lens flares.
Lens flares only appear when the light source is visible. They appear on an
axis which runs from the center of the light source through the center of the
screen. The position of the flare is relative to the light source it belongs
to. If the position value is zero, the flare appears at the position of the
light source. Higher values of position move it towards the center of the
screen.
Here are some example values and their meaning:
0 : flare has the same position as the light source
100 : flare is in the middle of the screen
200 : flare is on opposite side of the light source
You can also set position to negative values, so the flare will appear behind
the light source.
The radius of the flare is relative to the horizontal render resolution.
For example: A flare with radius of 20 % renderd with a resolution of 320x200
will have a radius of 0.2*320 = 64 pixels.
0m1mType0m is global to all flares and can be one of the following
identifiers:
Disc
A flare which looks like a disc
Polygon n
A flare which looks like a polygon. n is the number of edges.
0m1mTilt0m is also global to all flares and sets the angle the flares
are rotated.
0m1mFunction0m can be one of the following:
Plain
the color of the flare is uniform
Ring
intensity drops exponential from the border to the center
Radial
varies the color of the flare radial around the flare center
Exponent 1
intensity drops exponential from the border to the center
Exponent 2
intensity drops exponential from the border to the center
The flares can either be selected by their number with the slider at top
of the requester, or in the display area of the requester by clicking with
the mouse on it.
0m1mVISIBLE LIGHT0m
With the 3mvisible light settings0m you can change the appearance of the
light source.
In reality, a light source looks like a star with several spikes getting out
of the center of the light source. Usually there's a halo around it too.
The radius (length of the longest spike) of the star is relative to the
horizontal render resolution (see 3mLens Flares0m).
The radius of the halo is relative to the radius of the star itself. A value
of 100 % means, that the halo has the same radius as the star.
The radius of the inner halo is relative to the radius of the outer halo. A
value of 100 % means, that the inner halo has the same radius as the outer
halo.
Ring color sets the color of the halo.
The range value determines the difference between the longest and the shortes
spike of the star. A value of 0 % means that all spikes have the same length,
whereas 100 % means that the shortest spike has zero length.
The tilt angle rotates the star spikes.
The higher the noise value the more noisier the spikes are.
Intensity sets the brightness of the spikes
Color sets the color of the spikes.
0m1mHow are the spikes computed ?0m
The four spikes in the main directions (0, 90, 180, 270 degrees) always have
maximum length. Spikes between them (45, 135, ... degrees for example) are
shorter and again spikes between them are shorter and so on.
If you enable random, the length of the spikes is randomly changed.
0m1mGROUP0m
Groups the selected objects.
0m1mUNGROUP0m
Ungroups the selected objects.
0m1mLOAD0m
Loads an external object. Currently RayStorm, Imagine, Lightwave, Autodesk
3D-Studio, NFF and RAW objects are supported. Scenario generates an axis and adds
the object as childs of it.
0m1mImagine TDDD-file0m
Supported:
surfaces
brushes and textures
triangles (with correct handling of sharp edges)
perfect spheres
planes
0m1mLigtwave LWOB-file0m
Supported:
surfaces
triangles
quads
Not supported:
textures
brushes
sub surfaces of polygons
0m1mAutodesk 3D-Studio 3DS-file0m
Supported:
surfaces
triangles (with correct handling of sharp edges)
After loading the name of the object file can be changed with the 3mmesh settings0m
requester.
0m1mSAVE0m
Saves an object and it's childs in RayStorm object file format. You can only
save objects from the root level of the object tree. This means you cannot
save child objects. You also cannot save external objects.
0m1mPRIMITIVES0m
3m Sphere 0m
3m Box 0m
3m Cylinder 0m
3m Cone 0m
3m SOR 0m
3m Plane 0m
3m Camera 0m
3m CSG 0m
0m1mSPHERE0m
Creates a new sphere at position <0,0,0> with radius 1.
0m1mBOX0m
Creates a new box at position <0,0,0> with the left, bottom, front edge
at <-1,-1,-1> and the right, top, back edge at <1,1,1>.
0m1mCONE0m
Creates a new cone at position <0,0,0> with the rotation axis pointing
in y direction. The height is 1 and both x and z radius are also 1.
0m1mSOR0m
Creates a new 3mSOR0m (surface of revolution) at position <0,0,0> with
the rotation axis pointing in y direction. The height is 1 and both x
and z radius are also 1.
The created SOR has four control points.
0m1mCYLINDER0m
Creates a new cylinder at position <0,0,0> with the rotation axis pointing
in y direction. The height is 1 and both x and z radius are also 1.
0m1mPLANE0m
Creates a new plane at position <0,0,0> with the normal pointing in positive
y direction.
0m1mCAMREA0m
Creates a new pinhole camera at position <0,0,0> with a horizontal and
vertical field of view of 25 degree witch is pointing in positive z
direction.
0m1mCSG0m
Creates a new CSG object at position <0,0,0>.
0m1mLIGHTS0m
3m Directional light0m
3m Point light 0m
3m Spot light 0m
0m1mPOINT LIGHT0m
Creates a new point light source at position <0,0,0>.
0m1mSPOT LIGHT0m
Creates a new spot light source at position <0,0,0> with a opening angle of
45 degree pointing in negative y direction.
0m1mDIRECTIONAL LIGHT0m
Creates a new directional light source at position <0,0,0>.
0m1mMESHES0m
3m Axis 0m
3m Sphere 0m
3m Box 0m
3m Cylinder 0m
3m Cone 0m
3m Plane 0m
3m Torus 0m
0m1mAXIS0m
Creates a new axis at position <0,0,0> with size <1,1,1>. An axis can be used
to track a camera or a spot lightsource on it.
0m1mBox0m
Creates a box at position <0,0,0>. You can set the size of the box with a
requester.
0m1mSPHERE0m
Creates a spere at position <0,0,0>. You can set the size, the divisions and
the slices with a requester.
0m1mPlane0m
Creates a plane at position <0,0,0> with normal pointing in positive y-
direction. You can set the divisions with a requester.
0m1mTUBE0m
Creates a cylinder at position <0,0,0>. You can set the size, the height, the
divisions, the slices and if it's a closed cylinder with a requester.
0m1mCONE0m
Creates a cone at position <0,0,0>. You can set the size, height, divisions,
slices, and if the cone is closen with a requester.
0m1mTORUS0m
Creates a torus at position <0,0,0>. You can set the inner and outer size, the
division and slices with a requester.
0m1mACTIVE CAMERA0m
You can select the active camera.
0m1mNEW0m
Creates a new material.
0m1mLOAD NEW0m
Opens a file requester and let you select a material file. A new material
is created an the material file data is assigned to it.
0m1mREMOVE UNUSED0m
Remove all material items which are not assigned to a object.
0m1mREMOVE IDENTICAL0m
Remove all materials which have are identical. Only one of this identical
materials is left.
0m1mPREFS0m
Opens the preferences requester.
The 3m'Paths'-page0m let you set various paths.
0m1mViewer0m
Sets the path and name of the viewer. This viewer is used to display the
images generated by RayStorm. The filename of the image is appended to the
end of the string. You have specify the whole path, for example not
'multiview' but 'sys:utilities/multiview'.
0m1mProject path0m
Sets the default path for projects
0m1mObject path0m
Sets the default path for objects.
0m1mTexture path0m
Sets the default path for textures.
0m1mBrush path0m
Sets the default path for brushes.
The 3m'Flags'-page0m let you set various flags.
0m1mAlways show coordinates0m
The 3d coordinates of the mouse pointer are displayed for front, right and
top. If a object is transformed, the relative coordinates, rotation angles
or scale fctors are displayed
0m1mExternal toolbar images0m
If this flag is set, Scenario loads it's images from image files in the
'buttons'-drawer, else the buildin images are used. The images are loaded
with datatypes. The size of the images is determined by the size of the
first button (new.iff).
Kick 2.x users will always get the buildin images. You have to restart
Scenario when you change this option.
On the 3m'Misc'-page0m you can set the undo memory size:
0m1mUndo memory kB0m
Sets the maximum amount of memory used for undo informations. Old undo
operations are deleted if the memory limit is reached.
0m1mJPEG quality0m
Sets the picture quality of the jpeg saver.
0m1mRender task priority0m
This sets the priority of the background task which is used for rendering.
The default value is -1.
0m1mRender task stack0m
Sets the stack of the render task. The default value of 32kB should be
enough even for complex scenes. If you have scenes with many reflective
or transparent objects, you can increase this value.
On the 3m'Color'-page0m you can set the colors.
0m1mAxis0m
The color of the object axis.
0m1mBackground0m
The background color.
0m1mBrush0m
The color of the brushes.
0m1mCamera0m
The color of the camera.
0m1mGrid0m
The grid color.
0m1mHotspot0m
The color of the click point of the object axis.
0m1mUnselected object0m
The color of unselected objects.
0m1mSelected object0m
The color of selected objects.
0m1mSelection box0m
The color of the box which marks a selected object.
0m1mText0m
The color of text.
0m1mTexture0m
The color of the textures.
0m1mLight0m
The color of the light sources.
0m1mMUI0m
Opens the MUI preferences.
0m1mLOAD0m
Loads the preferences from a file called 'scenario.prefs'.
0m1mSAVE0m
Saves the preferences to a file called 'scenario.prefs'. Scenario also saves the sizes
and positions of the file requesters it uses. If you want to have the file requesters
with the size and position you want, then open them, size and place them and
close them with 0m1mOk0m (NOTE: if you leave them with 0m1mCancel0m the
size and position is not saved). Then select 0m1mSave0m form the 0m1mPrefs0m
menu. The next time you start Scenario the sizes and positions are the same.
The weight of the object browser and the material manager are also saved in this
preferences file.
0m1mBUTTONS0m
The first three buttons handle the project management (new, load
and save project.
The next six buttons are for editing and modifying mesh objects.
The next six buttons are for selecting the view (front, right, top,
perspective, quad and camera view).
The following three buttons select the display type. (bounding box,
wireframe and solid display (OpenGL)).
The next button determines if an selected object is moved, rotated and scaled
in the world or the local object coordinate system.
After this are six buttons to select the edit mode (move, rotate, scale object
and move, rotate, scale world).
The next three buttons enable the X, Y and Z-axis.
0m1mOBJECT MENUS0m
Sceneario supports object oriented menus. These menus are shown when you click
the right mouse button inside the work area and hold it. Scenario then pops
up a menu. The contents of this menu depends on the object which is found at
this position.
0m1mWorld menu0m
The world menu is shown if you click on a place where no object is placed.
The menu contents follwing points:
Move: switch to move world
Rotate: switch to rotate (the virtual camera is rotated around the view
point (only perspective mode))
Zoom: zoom in or out
Settings: opens the general settings requester
0m1mObject menu0m
The object menu pops up if you click on the handle of the object.
The menu contents follwing points:
Move: switch to mode move object
Rotate: switch to rotate object (the object is rotated around it's local
axis)
Scale: switch to scale object
Settings: opens the 3msettings0m requester
Attributes: opens the surface 3mattributes0m
requester
0m1mCamera menu0m
The camera menu pops up if you click on the handle of a camera
The menu contents follwing points:
Move, Rotate, Scale, Settings: see object menu
Settings: opens the 3mcamera settings0m requester
Active: sets this camera as the active camera (the scene is viewed with
this camera)
0m1mLight menu0m
Opens the light popup menu.
The menu contents follwing points:
Move, Rotate, Scale, Settings: see object menu
Settings: opens the 3mdirectional light source settings0m,
3mpoint light source settings0m or 3mspot light source settings0m
requester
0m1mMesh menu0m
Opens the mesh popup menu.
The menu contents follwing points:
Move, Rotate, Scale, Settings: see object menu
Settings: opens the 3mMesh settings0m requester
Attributes: see object menu
To scene: convert external to scene objects
0m1mKEYBOARD CONTROL0m
ESC break redraw
cursor keys Function depends on the curren edit mode (move, rotate, scale of
world or object).
DEL delete selected objects
'+' zooms in
'-' zooms out
'm' switches to move object action
'r' switches to rotate object action
's' switches to scale object action
'M' switches to move world action
'R' switches to rotate world action
'S' switches to scale world action
't' opens settings requester
'a' opens attributes requester
'1' switches to front view
'2' switches to right view
'3' switches to top view
'4' switches to perspective view
'5' switches to quad view
'6' switches to camera view
'b' toggles box selection mode
'x' enable x axis
'y' enable y axis
'z' enable z axis
'X' enable x axis and disabled all other
'Y' enable y axis and disabled all other
'Z' enable z axis and disabled all other
'F1' render settings
'R-Amiga' - '.' Center view
0m1mSCENARIO AREXX INTERFACE0m
3mIntroduction0m
3mAddress 0m
3mParameters 0m
3mCommands 0m
3mErrors 0m
0m1mSCNEARIO AREXX INTRODUCTION0m
Starting with version 2.1 Scenario now has a ARexx port. Through this port
mostly all Scenario commands can be reached. One can create, select, deselct,
move, rotate and scale objects.
It's the same if you write the the commands in upper case or lower case.
But it's important to enclose all commans in quotes because ARexx tries
to interpret the line before it sends it to the potz. It may happen that the
line is changed and RayStorm don't do what you expect.
0m1mSCENARIO AREXX ADDRESS0m
The ARexx address of Scenario is 'SCENARIO.n' where n is the number of the
copy of Scenario if it is started more than once. The address is also given
in the about box.
0m1mSCENARIO AREXX COMMANDS0m
0m1mAlphabetically sorted0m
0m1m-A-0m
3m ADDMATERIAL 0m
3m AASSIGNMATERIAL0m
3m AASSIGNMATERIALTOSELECTED0m
0m1m-C-0m
3m CAMERA2VIEWER 0m
3m COPY 0m
3m CREATEOBJECT 0m
3m CUT 0m
0m1m-D-0m
3m DELETE 0m
3m DELETEMATERIAL 0m
3m DISPLAY 0m
0m1m-G-0m
3m GETOBJECTALIGN 0m
3m GETOBJECTPOS 0m
3m GETOBJECTSIZE 0m
3m GETSLEOBJNAME 0m
3m GROUP 0m
0m1m-L-0m
3m LOADMATERIAL 0m
3m LOADOBJECT 0m
0m1m-N-0m
3m NEW 0m
0m1m-O-0m
3m OPEN 0m
0m1m-P-0m
3m PASTE 0m
0m1m-R-0m
3m REDO 0m
3m REDRAW 0m
3m RENDER 0m
0m1m-S-0m
3m SAVE 0m
3m SAVEMATERIAL 0m
3m SAVEOBJECT 0m
3m SELECT 0m
3m SELECTBYNAME 0m
3m SETOBJECTALIGN 0m
3m SETOBJECTPOS 0m
3m SETOBJECTSIZE 0m
3m SHOW 0m
0m1m-U-0m
3m UNDO 0m
3m UNGROUP 0m
0m1m-V-0m
3m VIEW 0m
0m1m-Z-0m
3m ZOOM 0m
0m1mADDMATERIAL0m
0m1mTemplate:0m
MATERIAL/A
0m1mArguments:0m
STRING
name of new material
0m1mDescription:0m
see 3mhere0m
0m1mASSIGNMATERIAL0m
0m1mTemplate:0m
MATERIAL/A,OBJECT/A
0m1mArguments:0m
STRING
name of material
STRING
name of object
0m1mDescription:0m
assigns a material to an object
0m1mASSIGNMATERIALTOSELECTED0m
0m1mTemplate:0m
MATERIAL/A
0m1mArguments:0m
STRING
name of material
0m1mDescription:0m
assigns material to all selected objects
0m1mCAMERA2VIEWER0m
0m1mTemplate:0m
none
0m1mArguments:0m
none
0m1mDescription:0m
see 3mhere0m
0m1mCOPY0m
0m1mTemplate:0m
none
0m1mArguments:0m
none
0m1mDescription:0m
see 3mhere0m
0m1m0m
0m1mTemplate:0m
WHICH/A
0m1mArguments:0m
STRING [AXIS,BOX,CAMERA,CONE,CSG,CYLINDER,DIRECTIONALLIGHT,SOR,PLANE,POINTLIGHT,SPHERE,SPOTLIGHT]
Object type
0m1mDescription:0m
see 3mhere0m
0m1mCUT0m
0m1mTemplate:0m
none
0m1mArguments:0m
none
0m1mDescription:0m
see 3mhere0m
0m1mDELETE0m
0m1mTemplate:0m
none
0m1mArguments:0m
none
0m1mDescription:0m
see 3mhere0m
0m1mDELETEMATERIAL0m
0m1mTemplate:0m
MATERIAL/A
0m1mArguments:0m
STRING
name of material to delete
0m1mDescription:0m
deletes a material
0m1mDISPLAY0m
0m1mTemplate:0m
MODE/A
0m1mArguments:0m
STRING [BBOX,WIRE,SOLID]
display mode
0m1mDescription:0m
Sets the current display mode.
0m1mGETOBJECTALIGN0m
0m1mTemplate:0m
NAME/A
0m1mArguments:0m
STRING
Name of object
0m1mDescription:0m
Returns the alignment of an object in degree. It returns a string of the format
"<alignx,aligny,alignz>".
0m1mGETOBJECTPOS0m
0m1mTemplate:0m
NAME/A
0m1mArguments:0m
STRING
Name of object
0m1mDescription:0m
Returns the position of an object. It returns a string of the format
"<positionx,positiony,positionz>".
0m1mGETOBJECTSIZE0m
0m1mTemplate:0m
NAME/A
0m1mArguments:0m
STRING
Name of object
0m1mDescription:0m
Returns the size of an object. It returns a string of the format
"<sizex,sizey,sizez>".
0m1mGETSELOBJNAME0m
0m1mTemplate:0m
none
0m1mArguments:0m
none
0m1mDescription:0m
Returns the name of the selected object. If more than one object is selected, the
name of the first selected object is returned.
0m1mGROUP0m
0m1mTemplate:0m
none
0m1mArguments:0m
none
0m1mDescription:0m
see 3mhere0m
0m1mLOADMATERIAL0m
0m1mTemplate:0m
NAME/A,FILE/A
0m1mArguments:0m
STRING
name of material
STRING
file name
0m1mDescription:0m
creates a new material an loads the material data from a file
0m1mLOADOBJECT0m
0m1mTemplate:0m
FILE/A
0m1mArguments:0m
STRING
filename
0m1mDescription:0m
see 3mhere0m
0m1mNEW0m
0m1mTemplate:0m
none
0m1mArguments:0m
none
0m1mDescription:0m
see 3mhere0m
0m1mOPEN0m
0m1mTemplate:0m
FILE/A
0m1mArguments:0m
STRING
file name
0m1mDescription:0m
see 3mhere0m
0m1mPASTE0m
0m1mTemplate:0m
none
0m1mArguments:0m
none
0m1mDescription:0m
see 3mhere0m
0m1mREDO0m
0m1mTemplate:0m
none
0m1mArguments:0m
none
0m1mDescription:0m
see 3mhere0m
0m1mREDRAW0m
0m1mTemplate:0m
none
0m1mArguments:0m
none
0m1mDescription:0m
see 3mhere0m
0m1m0m
0m1mTemplate:0m
none
0m1mArguments:0m
none
0m1mDescription:0m
renders the current scene
0m1mSAVE0m
0m1mTemplate:0m
FILE/A
0m1mArguments:0m
STRING
file name
0m1mDescription:0m
see 3mhere0m
0m1mSAVEMATERIAL0m
0m1mTemplate:0m
NAME/A,FILE/A
0m1mArguments:0m
STRING
name of material
STRING
file name
0m1mDescription:0m
saves the material data to a file
0m1mSAVEOBJECT0m
0m1mTemplate:0m
FILE/A
0m1mArguments:0m
STRING
filename
0m1mDescription:0m
see 3mhere0m
0m1mSELECT0m
0m1mTemplate:0m
WHAT/A
0m1mArguments:0m
STRING [ALL,NONE,NEXT,PREV]
Specifies what to select
0m1mDescription:0m
ALL: see 3mhere0m.
NONE: see 3mhere0m.
NEXT: see 3mhere0m.
PREV: see 3mhere0m.
0m1mSELECTBYNAME0m
0m1mTemplate:0m
NAME/A,MULTI/S
0m1mArguments:0m
STRING
Specifies the name of the object to select
BOOL
If specified, multi select is enablde
0m1mDescription:0m
Selects an object by it's name.
0m1mSETOBJECTPOS0m
0m1mTemplate:0m
POS/A
0m1mArguments:0m
VECTOR
New position.
0m1mDescription:0m
Sets the position of the selected object(s).
0m1mSETOBJECTPOS0m
0m1mTemplate:0m
ALIGN/A
0m1mArguments:0m
VECTOR
New alignment (in degree).
0m1mDescription:0m
Sets the alignment of the selected object(s).
0m1mSETOBJECTSIZE0m
0m1mTemplate:0m
SIZE/A
0m1mArguments:0m
VECTOR
New size.
0m1mDescription:0m
Sets the size of the selected object(s).
0m1mSHOW0m
0m1mTemplate:0m
WHAT/A
0m1mArguments:0m
STRING [NAMES,ALL,CAMERAS,BRUSHES,TEXTURES,LIGHTS,MESHES,SPHERES,BOXES,CYLINDERS,CONES,SORS,PLANES,CSGS]
specifies what to show/hide
0m1mDescription:0m
Toggles the show flag of the specified object type.
0m1mUNDO0m
0m1mTemplate:0m
none
0m1mArguments:0m
none
0m1mDescription:0m
see 3mhere0m
0m1mUNGROUP0m
0m1mTemplate:0m
none
0m1mArguments:0m
none
0m1mDescription:0m
see 3mhere0m
0m1mVIEW0m
0m1mTemplate:0m
MODE/A
0m1mArguments:0m
STRING [CAMERA,FRONT,RIGHT,TOP,PERSPECTIVE,QUAD]
view mode (QUAD toggles)
0m1mDescription:0m
sets the current view mode
0m1mSELECT0m
0m1mTemplate:0m
CMD/A
0m1mArguments:0m
STRING [FIT,FOCUS,IN,OUT]
Specifies the zoom sub command.
0m1mDescription:0m
FIT: see 3mhere0m.
FOCUS: see 3mhere0m.
IN: see 3mhere0m.
OUT: see 3mhere0m.
0m1mSCENARIO AREXX ERRORS0m
These values are returned when something went wrong.
0m1mApplication errors0m
1 Failed
Genaral error if command failed.
2 Invalid argument
You specified an invalid argument.
3 Invalid vector
You specified an invalid vector.
0m1mTIPS & TRICKS0m
0m1mGeneral0m
- RayStorm renders faster if you don't use planes, because intersections
with planes cannot be calculated with the octree (helpfull in scenes with
motion blur or soft shadows).
0m1mScenario0m
- 0m1mThe 020-Version of Scenario crashes!0m
In Kickstart V40.x, there is a bug in mathieeesingbas.library - it uses FPU
code on non-FPU machines for division/multiplication. This bug can be easily
fixed with a patch from Aminet: 0m3mutil/boot/PatchMathSB10.lha0m
- 0m1mI have problems with the screen refresh, the scene is only refreshed
behind the requester!0m
Open the 3mMUI-settings0m requester and select from the window
part for "Refresh" the "Smart"-mode.
- 0m1mHow can I change the texture and brush names without removing and adding
them again?0m
Select 3mView->Show->Show Textures0m or 3mView->Show->Show Brushes0m
and select the texture or brush. Now open the 3msettings-requester0m and change
the name of the brush or texture.
- 0m1mHow can I change the name of an RSOB/TDDD/LWOB/3DS/RAW-object without deleting
and reloding it?0m
Select 3mSettings0m from the object menu of the parent axis. Here you
can change the name of the object.
- 0m1mHow can I load my old Imagine attribute files to use it for RayStorm
objects?0m
Load the attributes file with 3mload object0m. You will get an axis
named 'Mesh' with another axis attached to it. The surface of this axis is set
to the attributes of the file. Click with the right mouse button to the parent
axis and select 3mTo scene0m. The parent axis is no deleted
and can now open the attributes requester for the child axis. Select save from
the 3mattributes requester0m and save the surface as a RayStorm material file.
- 0m1mIf I apply a checker texture to a plane looks noisy!0m
If the texture is exactly on the plane, the color of the texture jumps
between black and white because of rounding errors. Try to move the texture
axis a little (e.g. 0.02) away from the plane.
- 0m1mHow can I switch on shadows?0m
You must turn off Quick Rendering in Render settings. In addition to that turn
on cast shadows in the light settings.
- 0m1mDepth of Field doesn't seem to work. I changed the aperture and the focal distance,
but nothing happens.0m
You must increase the antialiasing value >1.
0m1mRayStorm Script0m
- The commands '3mTEXTUREPATH0m', '3mOBJECTPATH0m' and '3mBRUSHPATH0m' are relative
to the directory RayStorm is started from.
- If RayStorm crashes with scenes with reflections and transparence, try
to start RayStorm with a larger stack (e.g. 8192 bytes or more).
0m1mAREXX INTERFACE0m
3mIntroduction0m
3mAddress 0m
3mParameters 0m
3mCommands 0m
3mErrors 0m
0m1mAREXX INTRODUCTION0m
RayStorm is completly controled through it's ARexx interface. We recommend
that you have a look at the 3mtuturials0m and the 3mexample0m
script files in the 'ARexx' directory.
These examples cover most of the features of RayStorm. Further we encourage you
to create your own files and make them available for the public. You can send
them to us and we might add them as an example files in the next version of
RayStorm or we include them to our 3mHomepage0m.
In one of the next versions of RayStorm we'll create a more powerful
language, which has a similar syntax as C++.
It's the same if you write the the commands in upper case or lower case.
But it's important to enclose all commans in quotes because ARexx tries
to interpret the line before it sends it to the potz. It may happen that the
line is changed and RayStorm don't do what you expect.
A typical structure of a scene file is:
/* title, comments, ... */
/* setting resolution, world, camera, lightsources */
'SETSCREEN 160 128'
'SETWORLD [0,0,0] [40,40,40]'
'SETCAMERA <0,0,80> <0,0,0> <0,1,0> 25 20'
'POINTLIGHT <10,-10,100> [255,255,255] SHADOW'
/* define surfaces and actors */
'NEWSURFACE TEST1'
'AMBIENT [255,0,0]'
'DIFFUSE [255,0,0]'
'SPECULAR [255,255,255]'
'NEWSURFACE TEST2'
'AMBIENT [0,0,255]'
/* creating objects */
'SPHERE TEST1 <0,0,0> 10'
'SPHERE TEST2 <0,0,0> 10'
/* finally start to render the scene */
'STARTRENDER'
/* save the image */
'SAVEPIC "test.iff"'
'CLEANUP'
0m1mAREXX ADDRESS0m
The ARexx address of RayStorm Script is 'RAYSTORM.n', where n is the number of
the started copy of RayStorm Script.
0m1mAREXX PARAMETERS0m
The parameters of a command can be FLOATs, INTEGERs, VECTORs, COLORs,
STRINGs, and IDENTIFIERs.
FLOAT An FLOAT is a floating point number with single precision
NUMBER A NUMBER is a simple integer number
VECTOR A VECTOR is embedded in '<' '>' and consists of three FLOATs
COLOR A COLOR is embedded in '[' ']' and consists of three INTEGERs
which range normally from 0 to 255, but you can also set negative
values or values above of 255.
STRING A STRING consists of characters
KEYWORD An KEYWORD is a switch and consists of uppercase characters
0m1mPARAMETER CONVENTIONS0m
/S - Switch.
/N - Number.
/A - Required.
All other numeric parameters are floating point numbers.
0m1mAREXX COMMANDS0m
3m General 0m
3m Objects 0m
3m Attributes 0m
3m Animation 0m
0m1mAlphabetically sorted0m
0m1m-A-0m
3mALIGNMENT 0m
3mAMBIENT 0m
3mANTIALIAS 0m
0m1m-B-0m
3mBOX 0m
3mBRUSH 0m
3mBRUSHPATH 0m
0m1m-C-0m
3mCLEANUP 0m
3mCSG 0m
3mCYLINDER 0m
0m1m-D-0m
3mDIFFTRANS 0m
3mDIFFUSE 0m
3mDIRECTIONALLIGHT0m
3mDISPLAY 0m
3mDISTRIB 0m
0m1m-F-0m
3mFLARE 0m
3mFOGLEN 0m
0m1m-G-0m
3mGETERRORSTR 0m
0m1m-H-0m
3mHYPERTEXTURE 0m
0m1m-I-0m
3mIMTEXTURE 0m
0m1m-L-0m
3mLOADOBJ 0m
0m1m-N-0m
3mNEWSURFACE 0m
0m1m-O-0m
3mOBJECTPATH 0m
0m1m-P-0m
3mPLANE 0m
3mPOINTLIGHT 0m
3mPOSITION 0m
0m1m-Q-0m
3mQUIT 0m
0m1m-R-0m
3mREFEXP 0m
3mREFLECT 0m
3mREFRINDEX 0m
0m1m-S-0m
3mSAVEPIC 0m
3mSETCAMERA 0m
3mSETSCREEN 0m
3mSETWORLD 0m
3mSIZE 0m
3mSOR 0m
3mSPECTRANS 0m
3mSPECULAR 0m
3mSPHERE 0m
3mSPOTLIGHT 0m
3mSTAR 0m
3mSTARTRENDER 0m
0m1m-T-0m
3mTEXTUREPATH 0m
3mTRANSEXP 0m
3mTRANSLUC 0m
3mTRANSPAR 0m
3mTRIANGLE 0m
0m1m-W-0m
3mWINTOFRONT 0m
0m1mGENERAL AREXX-COMMANDS0m
3mANTIALIAS 0m sets antialiasing parameters
3mBRUSHPATH 0m sets brush path
3mCLEANUP 0m cleanups scene
3mDIRECTIONALLIGHT0m creates directional light source
3mDISPLAY 0m displays scene
3mDISTRIB 0m sets parameters for distributive sampling
3mFLARE 0m add a flare to a light source
3mGETERRORSTR 0m gets a error string for a given number
3mOBJECTPATH 0m sets object path
3mPOINTLIGHT 0m creates point light source
3mQUIT 0m quits RayStorm
3mSAVEPIC 0m saves rendered picture
3mSETCAMERA 0m sets camera parameters
3mSETSCREEN 0m sets screen parameters
3mSETWORLD 0m sets world parameters
3mSPOTLIGHT 0m creates spot light source
3mSTAR 0m add a light star to a light source
3mSTARTRENDER 0m starts rendering
3mTEXTUREPATH 0m sets texture path
3mWINTOFRONT 0m brings window to front
0m1mANTIALIAS0m
0m1mTemplate:0m
SAMPLES/N/A,WIDTH,CONTRIB
0m1mArguments:0m
NUMBER SAMPLES
Squareroot of number of samples per pixel (max. 8) (default: 1).
FLOAT WIDTH
Width of gaussian filter. The range is infinite but values between 1 and
3 are recommended (default: 1.3).
COLOR CONTRIB
Max. allowed contrast (default: [51,38,76]).
0m1mDescription:0m
Sets antialiasing parameters (see 3mAntialiasing0m)
0m1mBRUSHPATH0m
0m1mTemplate:0m
PATH/A
0m1mArguments:0m
STRING PATH
pathname (no default).
0m1mDescription:0m
Defines the path where to search brushes. More than one path may be included
as long as they are separated by semi-colons.
0m1mExample:0m
BRUSHPATH 'path1;path2'
0m1mCLEANUP0m
0m1mTemplate:0m
none
0m1mArguments:0m
none
0m1mDescription:0m
Deletes all defined objects, lightsources, surfaces and actors
0m1mDIRECTIONALLIGHT0m
0m1mTemplate:0m
POS/A,DIR,COLOR,SIZE,SHADOW/S,ACTOR,FALLOFF,NOSTAR/S,NOFLARES/S,SHADOWMAP/S,
SHADOWMAPSIZE/N
0m1mArguments:0m
VECTOR POS
Position of the directional light (default: <0,0,0,>)
VECTOR DIR
Direction the light is shining to (default: <0,0,1,>)
COLOR COLOR
Color of the light (default: [255,255,255]). Note: this color also can be
greater than 255 or negative.
VECTOR SIZE
Size of light source (used for 3msoft shadows0m) (default 0)
KEYWORD SHADOW
Lightsource casts shadows (default: OFF).
STRING ACTOR
Name of actor (no default value).
FLOAT FALLOFF
Distance where the brightness of the light is zero. A value of 0 switches
this option off (default: 0).
KEYWORD NOSTAR
Disable light star (default: OFF).
KEYWORD NOFLARES
Disable lens flares (default: OFF).
KEYWORD SHADOWMAP
Enables the shadowmap (default: OFF).
NUMBER SHADOWMAPSIZE
Defines the size of the shadowmap (default: 128).
0m1mDescription:0m
Creates a directional lightsource. The lightsource casts shadows, if the keyword
SHADOW is given. A 3mshadowmap0m will be generated if both the SHADOW and
SHADOWMAP keywords are given.
0m1mDISPLAY0m
0m1m!!! CAUTION !!!
THIS COMMAND ISN'T RELEASED IN THIS VERSION YET
!!! CAUTION !!!0m
0m1mTemplate:0m
FLOYD/S
0m1mArguments:0m
KEYWORD FLOYD/S
Dither with Floyd-Steinberg algorithm (default: OFF).
0m1mDescription:0m
Displays rendered pic on screen.
0m1mDISTRIB0m
0m1mTemplate:0m
SAMPLES/N,SOFTSHADOW/N
0m1mArguments:0m
NUMBER SAMPLES/N
Squareroot of number of samples per pixel for motionblur (default 1).
NUMBER SOFTSHADOW/N
Squareroot of number of samples per pixel for softshadows (default 1).
0m1mDescription:0m
Sets number of samples per pixel for distributive sampling (used for
3mmotion blur0m and 3msoft shadows0m)
0m1mGETERRORSTR0m
0m1mTemplate:0m
ERRNUM/N/A
0m1mArguments:0m
NUMBER ERRNUM
Error number (no default).
0m1mDescription:0m
Returns the error string for the given error number
0m1mOBJECTPATH0m
0m1mTemplate:0m
PATH/A
0m1mArguments:0m
PATH
Pathname (no default).
0m1mDescription:0m
Defines the path where to search objects. More than one path may be included
as long as they are separated by semi-colons.
0m1mExample:0m
OBJECTPATH 'path1;path2'
0m1mPOINTLIGHT0m
0m1mTemplate:0m
POS/A,COLOR,SIZE,SHADOW/S,ACTOR,FALLOFF,NOSTAR/S,NOFLARES/S,SHADOWMAP/S,
SHADOWMAPSIZE/N
0m1mArguments:0m
VECTOR POS
Position of the pointlight (default: <0,0,0,>)
COLOR COLOR
Color of the light (default: [255,255,255]). Note: this color also can be
greater than 255 or negative.
VECTOR SIZE
Size of light source (used for 3msoft shadows0m) (default 0)
KEYWORD SHADOW
Lightsource casts shadows (default: OFF).
STRING ACTOR
Name of actor (no default value).
FLOAT FALLOFF
Distance where the brightness of the light is zero. A value of 0 switches
this option off (default: 0).
KEYWORD NOSTAR
Disable light star (default: OFF).
KEYWORD NOFLARES
Disable lens flares (default: OFF).
KEYWORD SHADOWMAP
Enables the shadowmap (default: OFF).
NUMBER SHADOWMAPSIZE
Defines the size of the shadowmap (default: 128).
0m1mDescription:0m
Creates a point lightsource. The lightsource casts shadows, if the keyword
SHADOW is given. A 3mshadowmap0m will be generated if both the SHADOW and
SHADOWMAP keywords are given.
0m1mQUIT0m
0m1mTemplate:0m
none
0m1mArguments:0m
none
0m1mDescription:0m
Quits Raystrom Script.
0m1mSAVEPIC0m
0m1mTemplate:0m
NAME/A,FORMAT
0m1mArguments:0m
STRING NAME
The name of the picture to save (no default).
STRING FORMAT
Image format: TGA, PNG, ILBM, JPEG (default: ILBM).
0m1mDescription:0m
Saves the rendered picture as a 24-Bit IFF-ILBM-file, 24 Bit TGA file, 24 bit
JPEG file or 24 Bit PNG file. If an error occures the command returns an error
string.
0m1mExample:0m
SAVEPIC 'path/name with extension'
0m1mSETCAMERA0m
0m1mTemplate:0m
POS/A,VIEWPOINT,VIEWUP,FOVX,FOVY,FOCALDIST,APERTURE,POSACTOR,VIEWACTOR
0m1mArguments:0m
VECTOR POS
Position of the camera (default: <0,0,-10>).
VECTOR VIEWPOINT
Position to which the camera points to (default: <0,0,0>).
VECTOR VIEWUP
View up vector (default: <0,1,0>).
FLOAT FOVX, FOVY
Field of view (in degree) (20 degree creates a camera like the default
camera of Imagine) (default: 45, 45)
FLOAT FOCALDIST
Distance from eye to focal plane (default: 1).
FLOAT APERTURE
Aperture width (0 = pinhole) (-> 3mdepth of field0m) (default: 0).
STRING POSACTOR
Name of position actor (no default).
STRING VIEWACTOR
Name of look_at_actor (no default).
0m1mDescription:0m
Sets the parameters of the camera
0m1mSETSCREEN0m
0m1mTemplate:0m
RESX/N/A,RESY/N/A,COLORS/N
0m1mArguments:0m
NUMBER RESX, RESY
Resolution of the picture (default: 128, 128).
NUMBER COLORS
Number of colors (not yet implemented)
0m1mDescription:0m
Sets the resolution of the rendered picture. Note that in the demo-version
the resolution is limited to 160x128 pixels!
0m1mSETWORLD0m
0m1mTemplate:0m
BACK/A,AMBIENT,RANDJIT/S,BACKDROP,FOGLEN,FOGHEIGHT,FOGCOLOR,REFLMAP
0m1mArguments:0m
COLOR BACK
Color of background (default: [0,0,0]). Note: this color also can be
greater than 255 or negative.
COLOR AMBIENT
Ambient color (default: [0,0,0]). Note: this color also can be greater than
255 or negative.
KEYWORD RANDJIT
Use random jitter for 3mdepth of field0m and 3msoft shadows0m (default: OFF).
STRING BACKDROP
Name of the backdrop picture (no default).
FLOAT FOGLEN
Global fog length (default: 32).
FLOAT FOGHEIGHT
Highest fog y-level (default: 0).
COLOR FOGCOLOR
Color of fog (default: [255,255,255]). Note: this color also can be greater
than 255 or negative.
STRING REFLMAP
Name of the reflection map (no default).
0m1mDescription:0m
Sets world parameters. The backdrop picture is automatically scaled to
the screen resolution.
0m1mSPOTLIGHT0m
0m1mTemplate:0m
POS/A,COLOR,LOOKPOINT,ANGLE,SIZE,SHADOW/S,ACTOR,LOOKP_ACTOR,FALLOFF,NOSTAR/S,
NOFLARES/S,SHADOWMAP/S,SHADOWMAPSIZE/N
0m1mArguments:0m
VECTOR POS
Position of the spotlight (default: <0,0,0,>)
COLOR COLOR
Color of light (default: [255,255,255]). Note: this color also can be
greater than 255 or negative.
VECTOR LOOKPOINT
Point at which the spotlight shines (default: <0,0,1>).
FLOAT ANGLE
Opening angel in degree (max. 180) (default: 45).
VECTOR SIZE
Size of light source (used for 3msoft shadows0m) (default 0)
KEYWORD SHADOW
Lightsource casts shadows (default: OFF).
STRING ACTOR
Name of position actor (no default value).
STRING LOOKP_ACTOR
Name of look-point actor (no default value).
FLOAT FALLOFF
Distance where the brightness of the light is zero. A value of 0 switches
this option off (default: 0).
KEYWORD NOSTAR
Disable light star (default: OFF).
KEYWORD NOFLARES
Disable lens flares (default: OFF).
KEYWORD SHADOWMAP
Enables the shadowmap (default: OFF).
NUMBER SHADOWMAPSIZE
Defines the size of the shadowmap (default: 128).
0m1mDescription:0m
Creates a spotlight. The rays emitted from a spotlight are constrained
by a cone. The LOOKPOINT vector gives the center of the illuminated area.
The lightsource casts shadows, if the keyword SHADOW is given. A 3mshadowmap0m
will be generated if both the SHADOW and SHADOWMAP keywords are given.
0m1mFLARE0m
0m1mTemplate:0m
POS/A,RADIUS/A,COLOR,TYPE,FUNCTION,EDGES/N,TILT
0m1mArguments:0m
FLOAT POS
Position of the flare on light axis (in percent) (default: 50).
FLOAT RADIUS
Radius of the flare (in percent) (default: 10).
COLOR COLOR
Color of the flare (default: [50,50,50]). Note: this color also can be
greater than 255 or negative.
KEYWORD TYPE [DISC|POLYGON]
Type of the flare (default: DISC).
KEYWORD FUNCTION [PLAIN|RING|RADIAL|EXP1|EXP2]
Look of the flare (default: PLAIN).
NUMBER EDGES
Number of edges of polygonal flare (3 - 8 edges possible) (default: 5).
FLOAT TILT
Tilt angle of flare (only useful for polygonal flares) (default: 0).
0m1mDescription:0m
A new lens flare is added to the last defined light source. Lens flares only
appear when the light source is visible. They appear on an axis which runs
from the center of the light source through the center of the screen. The
position of the flare is relative to the light source it belongs to. If the
position value is zero, the flare appears at the position of the light source.
Greater values of pos move it towards the center of the screen. Here a some
example values and their meaning:
0 : flare has the same position as the light source
100 : flare is in the middle of the screen
200 : flare is on opposite side of the light source
You can also set pos to negative values, so the flare will appear behind the
light source.
The radius of the flare is relative to the horizontal render resolution.
For example: A flare with radius of 20 % renderd with a resolution of 320x200
will have a radius of 0.2*320 = 64 pixels.
0m1mtype0m can be one of the following identifiers:
DISC
A flare which looks like a disc
POLYGON
A flare which looks like a polygon. The number of edges can be set with
edges.
0m1mfunction0m can be one of the following identifiers:
PLAIN
the color of the flare is uniform
RING
the flare looks like a ring
RADIAL
varies the color of the flare radial around the flare center
0m1mSTAR0m
0m1mTemplate:0m
SPIKES,RADIUS,HALORADIUS,INNERHALORADIUS,RANGE,RANDOM_SEED/N,TILT,NOISE,
BRIGHTNESS,COLOR,RINGCOLOR
0m1mArguments:0m
NUMBER SPIKES
Number of spikes (4 - 256) (default: 4).
FLOAT RADIUS
Radius of star (in percent) (default: 30).
FLOAT HALORADIUS
Radius of star halo (in percent relative to star radius) (default: 20).
FLOAT INNERHALORADIUS
Radius of inner star halo (in percent relative to halo radius) (default: 40).
FLOAT RANGE
Range between shortest and longest spike (in percent) (default: 0).
NUMBER RANDOM_SEED
Random seed value (0-32767) (default: 0).
FLOAT TILT
Tilt angle of spikes (in degree) (default: 0).
FLOAT NOISE
The higher this value the noisier the spikes (default: 5.0).
FLOAT BRIGHTNESS
Brightness of the spikes (default: 40.0).
COLOR COLOR
Color of the spikes (default: <1.0, 0.6, 0.6>).
COLOR RINGCOLOR
Color of the ring (defualt: <0.156, 0.0392, 0.0196>).
0m1mDescription:0m
This command makes a light source visible. In reality, a light source looks
like a star with several spikes getting out of the center of the light source.
Usually there's a halo around it too.
The radius (length of the longest spike) of the star is relative to the
horizontal render resolution (see 3mFLARE0m).
The radius of the halo is relative to the radius of the star itself. A value
of 100 % means, that the halo has the same radius as the star.
The radius of the inner halo is relative to the radius of the outer halo. A
value of 100 % means, that the inner halo has the same radius as the outer
halo.
The range value determines the difference between the longest and the shortes
spike of the star. A value of 0 % means that all spikes have the same length,
whereas 100 % means that the shortest spike has zero length.
The spike width value is a factor for the width of the spikes. Higher values
generate wider spikes.
0m1mHow are the spikes computed ?0m
The four spikes in the main directions (0, 90, 180, 270 degrees) always have
maximum length. Spikes between them (45, 135, ... degrees for example) are
shorter and again spikes between them are shorter and so on.
If you specify a value for random_seed, the length of the spikes is randomly
changed.
0m1mSTARTRENDER0m
0m1mTemplate:0m
QUICK/S,DEPTH/N,FROM,TO,LEFT/N,TOP/N,RIGHT/N,BOTTOM/N,MINOBJECTS/N,HYPERSTEP
0m1mArguments:0m
KEYWORD QUICK
Render quick (no shadows, reflections and transparency) (default: ON).
NUMBER DEPTH
Depth of generated 3moctree0m (default: 3).
FLOAT FROM,TO
Time code (default 0,0). If you want 3mmotion blur0m you have to
set FROM and TO to different values, else only set FROM (default: 0, 0).
NUMBER LEFT,TOP,RIGHT,BOTTOM
Coordinates for rendering box. Picture is renderd only inside of
rectangle (default: whole picture).
NUMBER MINOBJECTS
Minimum amount of objects for which no octree is generated (default: 3).
FLOAT HYPERSTEP
Step size for hyper textures (default: 0.1).
0m1mDescription:0m
Starts rendering process. If you set QUICK shadows, reflections and
transparency are not calculated. In very complex scenes it is useful to
increase the octree depth in order to reach a better performance during
the rendering process. But this can only be done with enough memory!
Here are values for the file "chess.ray" renderd with a resolution of
160x128 on a A4000 with 25Mhz 68030 and 57MHz 68882:
depth memory [MByte] init [mm:ss] cleanup [mm:ss] render [mm:ss] total [mm:ss]
2 1.38 00:12 00:02 09:24 09:38
3 1.13 00:14 00:04 03:58 04:16
4 1.55 00:22 00:08 01:50 02:20
5 2.35 00:41 00:26 01:15 02:22
6 5.70 01:35 02:38 01:06 05:19
0m1mTEXTUREPATH0m
0m1mTemplate:0m
PATH/A
0m1mArguments:0m
PATH
Pathname (format: 'path1;path2;...;pathn') (no default).
0m1mDescription:0m
Defines the path where to search textures. More than one path may be included
as long as they are separated by semi-colons.
0m1mExample:0m
TEXTUREPATH 'path1;path2'
0m1mWINTOFRONT0m
0m1mTemplate:0m
none
0m1mArguments:0m
none
0m1mDescription:0m
Brings RayStorm window in front.
0m1mAREXX-COMMANDS FOR CREATING OBJECTS0m
3mBOX 0m creates a box
3mCONE 0m creates a cone object
3mCSG 0m creates a CSG object
3mCYLINDER0m creates a cylinder
3mLOADOBJ 0m loads an object file
3mPLANE 0m creates a plane (ground in Imagine)
3mSOR 0m creates a surface of revolution
3mSPHERE 0m creates a sphere
3mTRIANGLE0m creates a triangle
0m1mBOX0m
0m1mTemplate:0m
SURF/A,POS/A,LOWBOUNDS,HIGHBOUNDS,ALIGN,ACTOR,INVERTED/S
0m1mArguments:0m
STRING SURF
Name of surface (no default).
VECTOR POS
Center of box (default: <0,0,0>).
VECTOR LOWBOUNDS
Left, front, bottom edge relative to position (default: <-1,-1,-1>).
VECTOR HIGHBOUNDS
Right, back, top edge relative to position (default: <1,1,1>).
VECTOR ALIGN
Alignment of box in degree (default: <0,0,0>).
STRING ACTOR
Name of actor (no default).
KEYWORD INVERTED
Box is inverted (inside out). Only useful for 3mCSG0m. (default: FALSE).
0m1mDescription:0m
Creates a box
0m1mCONE0m
0m1mTemplate:0m
SURF/A,POS/A,SIZE,ALIGN,ACTOR,INVERTED/S,OPENBOTTOM/S
0m1mArguments:0m
STRING SURF
Name of surface (no default).
VECTOR POS
Base position of cone (default: <0,0,0>).
VECTOR SIZE
Size of cone (default: <1.,1.,1.>).
VECTOR ALIGN
Alignment of cone in degree (default: <0,0,0>).
STRING ACTOR
Name of actor (no default).
KEYWORD INVERTED
Cone is inverted (inside out). Only useful for 3mCSG0m. (default: FALSE).
KEYWORD OPENBOTTOM
Cone has no bottom cap. Note that this can cause problems with 3mCSG0m.
(default: FALSE).
0m1mDescription:0m
Creates a cone. The rotation axis of the cone points to y-direction.
0m1mCSG0m
0m1mTemplate:0m
OPERATION,INVERTED/S
0m1mArguments:0m
KEYWORD OPERATION [UNION|INTERSECTION|DIFFERENCE]
The operation for this CSG object (default: UNION).
KEYWORD INVERTED
CSG-object is inverted (inside out) (default: FALSE).
0m1mDescription:0m
Creates a new CSG object. The next two objects which are define after this
command are take for the CSG object. Valid objects are 3mSPHERE0m, 3mBOX0m,
3mCYLINDER0m and a CSG object again.
For more information see 3mthis0m chapter.
0m1mExample:0m
CSG DIFFERENCE
CSG INTERSECTION
SPHERE surf1 <-.5,0,0> 1
SPHERE surf2 <-.5,0,0> 1
BOX surf3 <0,0,0> <-2,-.5,-.5> <2,.5,.5>
0m1mCYLINDER0m
0m1mTemplate:0m
SURF/A,POS/A,SIZE,ALIGN,ACTOR,INVERTED/S,OPENTOP/S,OPENBOTTOM/S
0m1mArguments:0m
STRING SURF
Name of surface (no default).
VECTOR POS
Base position of cylinder (default: <0,0,0>).
VECTOR SIZE
Size of cylinder (default: <1.,1.,1.>).
VECTOR ALIGN
Alignment of cylinder in degree (default: <0,0,0>).
STRING ACTOR
Name of actor (no default).
KEYWORD INVERTED
Cylinder is inverted (inside out). Only useful for 3mCSG0m. (default: FALSE).
KEYWORD OPENTOP
Clyinder has no top cap. Note that this can cause problems with 3mCSG0m.
(default: FALSE).
KEYWORD OPENBOTTOM
Clyinder has no bottom cap. Note that this can cause problems with 3mCSG0m.
(default: FALSE).
0m1mDescription:0m
Creates a cylinder. The rotation axis of the cylinder points to y-direction.
0m1mLOADOBJ0m
0m1mTemplate:0m
NAME/A,POS,ALIGN,SCALE,ACTOR,SURFACE
0m1mArguments:0m
STRING NAME
Filename (no default).
VECTOR POS
Position (default: <0,0,0>).
VECTOR ALIGN
Slignment (in degrees) (default: <0,0,0>).
VECTOR SCALE
Scale factor (default: <1,1,1>).
STRING ACTOR
Name of actor (no default).
STRING SURFACE
Name of surface to replace object surface with (no default).
0m1mDescription:0m
Loads an
- Imagine TDDD-file
loads attributes, triangles (with correct handling of sharp edges),
perfect spheres, planes, brushes and textures
- Ligtwave LWOB-file
loads attributes, triangles and quads. Don't loads textures and don't
assigns sub surfaces to polygons.
- Autodesk 3D-Studio file
loads attributes, triangles and generates sharp edges
If you specify a surface, all surfaces of the object will have that surface
(overriding any surfaces defined in the object file).
0m1mWhere to get Imagine object files?0m
Look on FTP-servers which support AMINET. For example try out
ftp.uni-paderborn.de
Path: ftp/aminet/pub/gfx/3dobj/
0m1mWhere to get 3D-Studio object files?0m
Try out these WWW-Pages:
For Star wars fans: http://www.loop.com/~hhc/
Mesh Mart: http://cedar.cic.net/~rtilmann/mm/index.htm
Objects Archive: http://sunserver1.rz.uni-duesseldorf.de/~pannozzo/3ds.html
0m1mPLANE0m
0m1mTemplate:0m
SURF/A,POS,NORM,ACTOR
0m1mArguments:0m
STRING SURF
Name of surface (no default).
VECTOR POS
Position (default: <0,0,0>).
VECTOR NORM
Normal of the plane (default: <0,1,0>).
STRING ACTOR
Name of actor (no default).
0m1mDescription:0m
Creates an infinite plane.
0m1mSOR0m
0m1mTemplate:0m
SURF/A,POINTS/M/A,POS,SIZE,ALIGN,ACTOR,ACCURATE/S,INVERTED/S,OPENTOP/S,OPENBOTTOM/S
0m1mArguments:0m
STRING SURF
Name of surface (no default).
VECTOR2D POINTS
The points which describe the curve which is rotated (at least 4) (no default).
VECTOR SIZE
Size of SOR (default: <1,1,1>).
VECTOR ALIGN
Alignment of SOR in degree (default: <0,0,0>).
STRING ACTOR
Name of actor (no default).
KEYWORD ACCURATE
Use a more accurate but slower algorithm for calculting the SOR. If the SOR isn't
renderd properly specify this keyword (default: FALSE).
KEYWORD INVERTED
SOR is inverted (inside out). Only useful for 3mCSG0m. (default: FALSE).
KEYWORD OPENTOP
SOR has no top cap. Note that this can cause problems with 3mCSG0m.
(default: FALSE).
KEYWORD OPENBOTTOM
SOR has no bottom cap. Note that this can cause problems with 3mCSG0m.
(default: FALSE).
0m1mDescription:0m
Creates a 3msurface of revolution0m (SOR).
0m1mSPHERE0m
0m1mTemplate:0m
SURF/A,POS/A,RADIUS/A,ACTOR,FUZZY,INVERTED/S
0m1mArguments:0m
STRING SURF
Name of surface (no default).
VECTOR POS
Center of sphere (default: <0,0,0>).
FLOAT RADIUS
Radius of sphere (default: 1).
STRING ACTOR
Name of actor (no default).
FLOAT FUZZY
Size of the fuzzy region for 3mhyper texture0m (default: 0).
KEYWORD INVERTED
Sphere is inverted (inside out). Only useful for 3mCSG0m. (default: FALSE).
0m1mDescription:0m
Creates a sphere.
0m1mTRIANGLE0m
0m1mTemplate:0m
SURF/A,P1/A,P2/A,P3/A,N1,N2,N3,ACTOR
0m1mArguments:0m
STRING SURF
Name of surface (no default).
VECTOR P1
First corner (no default).
VECTOR P2
Second corner (no default).
VECTOR P3
Third corner (no default).
VECTOR N1
Normal at first corner (no default).
VECTOR N2
Normal at second corner (no default).
VECTOR N3
Normal at third corner (no default).
STRING ACTOR
Name of actor (no default).
0m1mDescription:0m
Creates a triangle with corners at position P1, P2 and P3. If you specify
the normals, a phong shaded triangle otherwise a flat triangle is created.
Computing the normals by hand is a difficult task, and should be done by
utility programs.
0m1mAREXX-COMMANDS FOR SETTING ATTRIBUTES0m
Every object must have a surface definition. With the following commands
you can set the attributes of a surface. First you have to define the
current surface with 'NEWSURFACE <name>'. Raystorm will set the attributes
of the new surface to default values. Every following command such as
AMBIENT or DIFFTRANS refers to the current surface and will override
the corresponding default values.
The following examples define two surfaces:
NEWSURFACE RED
AMBIENT [255,0,0]
DIFFUSE [255,0,0]
NEWSURFACE WATER
DIFFUSE [0,0,255]
REFRINDEX 1.333
List of surface commands:
3mNEWSURFACE 0m creates a new surface
3mAMBIENT 0m sets ambient color
3mBRUSH 0m adds a brush
3mDIFFTRANS 0m sets diffuse transmission color
3mDIFFUSE 0m sets diffuse color
3mFOGLEN 0m sets the foglength
3mHYPERTEXTURE 0m adds a hyper texture
3mIMTEXTURE 0m adds a Imagine texture
3mREFEXP 0m sets the specular reflection exponent
3mREFLECT 0m sets the specular reflectivity
3mREFRINDEX 0m sets the index of refraction
3mSPECTRANS 0m sets the specular transmission
3mSPECULAR 0m sets the specular color
3mTRANSEXP 0m sets the specular transmission exponent
3mTRANSLUC 0m sets the specular transmittance
3mTRANSPAR 0m sets the diffuce transmittance
0m1mAMBIENT0m
0m1mTemplate:0m
COLOR/A
0m1mArguments:0m
STRING COLOR
Color (default: [255,255,255]). Note: this color also can be greater than
255 or negative.
0m1mDescription:0m
Sets the ambient color of surface. Determines the color of the object in
sections, which are in shadow.
0m1mBRUSH0m
0m1mTemplate:0m
NAME/A,TYPE/A,WRAP/A,POS/A,ALIGN/A,SIZE/A,REPEAT/S,MIRROR/S,SOFT/S,ACTOR
0m1mArguments:0m
STRING NAME
Filename of brush (no default).
KEYWORD TYPE [COLOR|REFLECT|FILTER|ALTITUDE|SPECULAR]
Type of brush (default: COLOR).
KEYWORD WRAP [FLAT|WRAPX|WRAPY|WRAPXY]
Brush wrapping method (default: FLAT).
VECTOR POS
Position (default: <0,0,0>).
VECTOR ALIGN
Alignment (default: <0,0,0>).
VECTOR SIZE
Size of brush (default: <1,1,1>).
KEYWORD REPEAT
If set, brush is repeated like a tile (default: OFF).
KEYWORD MIRROR
If set, brush is mirrord (when REPEAT is specified) (default: OFF).
KEYWORD SOFT
If set, brush color is interpolated softly (default: OFF).
STRING ACTOR
Name of actor (no default).
0m1mDescription:0m
Adds a brush to surface definition. A brush is a bitmap which is wrapped
around an object. The specified file will be searched for in the current
directory. If it wasn't found there and a 3mBRUSHPATH0m is given, the file will
be searched there.
If an error occures the command returns an error string. Supported formats
are: IFF-ILBM, PNG, TGA, JPEG and Datatypes.
Constants for type:
COLOR
Replaces the surface color of the object with the image (sets 3mDIFFUSE0m and
3mAMBIENT0m color).
REFLECT
Map covers the surface and reflects environment (see 3mREFLECT0m)).
FILTER
Uses the white color to pass colors and the black area to hold back color
with a variance between two colors (like with 3mTRANSPAR0m).
ALTITUDE
The red values of the brush are used to give the surface an appearence of
bumpiness.
SPECULAR
The rgb values set the specular color of the surface (see 3mSPECULAR0m).
Constants for wrap :
FLAT
The brush is projected to X-Y plane, the axis is in the middle of the
brush area, length is the distance from the middle to the border.
WRAPX
The brush is wrapped around the x-axis, like on a cylinder. The left edge
of the brush begins at the posititve X axis and wraps the brush around
the cylinder from 'west' to 'east'.
WRAPY
Same as WRAPX, but wrapping is around the y-axis.
WRAPXY
Wrapping both: around X and Y axis. It is assumed, that the object is a
sphere. The Y axis is the north/south pole of the spherical mapping. The
left edge of the brush begins at the positive X axis and wraps the brush
around the sphere from 'west' to 'east'. The brush covers the sphere
exactly once.
0m1mExample:0m
BRUSH "earth.iff" COLOR, WRAPXY <0,0,0> <0,0,0> <0.1,0.1,0.1>
0m1mDIFFTRANS0m
0m1mTemplate:0m
COLOR/A
0m1mArguments:0m
COLOR COLOR
Color (default: [0,0,0]). Note: this color also can be greater than 255 or
negative.
0m1mDescription:0m
Sets the diffuse transmission color of surface. Same as diffuse reflection,
but only used if the lightsource is on opposite side of surface. Only
applied if tranlucency is not set to zero.
0m1mDIFFUSE0m
0m1mTemplate:0m
COLOR/A
0m1mArguments:0m
COLOR COLOR
Color (default: [255,255,255]). Note: this color also can be greater than
255 or negative.
0m1mDescription:0m
Sets the diffuse color of surface. The diffuse reflection falls off as
the cosine of the angle between the normal and the ray to the light.
Diffuse reflection determines the main color of the object (color in
Imagine).
0m1mFOGLEN0m
0m1mTemplate:0m
VALUE/A
0m1mArguments:0m
FLOAT VALUE/A
Foglength (default: 0).
0m1mDescription:0m
Sets the foglength of the surface. The fog color is set with 3mTRANSPAR0m.
0m1mHYPERTEXTURE0m
0m1mTemplate:0m
TYPE/A,POS,ALIGN,SIZE,P1,P2,P3,ACTOR
0m1mArguments:0m
KEYWORD TYPE (EXPLOSION)
Type of the hyper texture (no default).
VECTOR POS
Position (default: <0,0,0>).
VECTOR ALIGN
Alignment (default: <0,0,0>).
VECTOR SIZE
Size of texture axis (default: <1,1,1>).
FLOAT P1,P2,P3
Texture parameters (default values depend on type of texture).
STRING ACTOR
Name of actor (no default).
0m1mDescription:0m
Adds a hyper texture to the surface. For more information about hyper textures
click 3mhere0m.
0m1mIMTEXTURE0m
0m1mTemplate:0m
NAME/A,POS,ALIGN,SIZE,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,ACTOR
0m1mArguments:0m
STRING NAME
Name of Imagine texture file (no default).
VECTOR POS
Position (default: <0,0,0>).
VECTOR ALIGN
Alignment (default: <0,0,0>).
VECTOR SIZE
Size of texture axis (default: <1,1,1>).
FLOAT P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16
Texture parameters (default values depend on type of texture).
STRING ACTOR
Name of actor (no default).
0m1mDescription:0m
Adds an Imagine texture to the surface.
0m1mExample:0m
IMTEXTURE "checker.itx" <0.1,0.1,0.1> <0,0,0> <2,2,2>
0m1mNEWSURFACE0m
0m1mTemplate:0m
NAME/A,BRIGHT/S
0m1mArguments:0m
STRING NAME
Name (no default).
KEYWORD BRIGHT
If set, the brightness of the surface is everywhere the same (default: OFF).
0m1mDescription:0m
Defines a new surface.
0m1mREFEXP0m
0m1mTemplate:0m
VALUE/A
0m1mArguments:0m
FLOAT VALUE
Specular reflection exponent (default: 12).
0m1mDescription:0m
Sets the specular reflection exponent of surface. Determines the size of
the specularly reflected highlights, the higher the smaller the highlight
(hardness in Imagine).
0m1mREFLECT0m
0m1mTemplate:0m
COLOR/A
0m1mArguments:0m
COLOR COLOR
Color (default: [0,0,0]). Note: this color also can be greater than 255 or
negative.
0m1mDescription:0m
Sets the specular reflectivity of surface
0m1mREFRINDEX0m
0m1mTemplate:0m
VALUE/A
0m1mArguments:0m
FLOAT VALUE
Index of refraction (default: 1).
0m1mDescription:0m
Sets the index of refraction of surface. Determines how the ray is refracted
through transparent objects, the higher the more (index of refraction in
Imagine).
0m1mExamples:0m
MATERIAL Index
-------------------------------------
Vacuum ...................... 1.00000 (exactly)
Air (STP).................... 1.00029
Acetone ..................... 1.36
Alcohol ..................... 1.329
Amorphous Selenium .......... 2.92
Calspar1 .................... 1.66
Calspar2 .................... 1.486
Carbon Disulfide ............ 1.63
Chromium Oxide .............. 2.705
Copper Oxide ................ 2.705
Crown Glass ................. 1.52
Crystal ..................... 2.00
Diamond ..................... 2.417
Emerald ..................... 1.57
Ethyl Alcohol ............... 1.36
Flourite .................... 1.434
Fused Quartz ................ 1.46
Heaviest Flint Glass ........ 1.89
Heavy Flint Glass ........... 1.65
Glass ....................... 1.5
Ice ......................... 1.309
Iodine Crystal .............. 3.34
Lapis Lazuli ................ 1.61
Light Flint Glass ........... 1.575
Liquid Carbon Dioxide ....... 1.20
Polystyrene ................. 1.55
Quartz 1 .................... 1.644
Quartz 2 .................... 1.553
Ruby ........................ 1.77
Sapphire .................... 1.77
Sodium Chloride (Salt) 1 .... 1.544
Sodium Chloride (Salt) 2 .... 1.644
Sugar Solution (30%) ........ 1.38
Sugar Solution (80%) ........ 1.49
Topaz ....................... 1.61
Water (20 C) ................ 1.333
Zinc Crown Glass ............ 1.517
0m1mSPECTRANS0m
0m1mTemplate:0m
COLOR/A
0m1mArguments:0m
COLOR COLOR
Color (default: [255,255,255]). Note: this color also can be greater than
255 or negative.
0m1mDescription:0m
Sets the specular transmission color of surface. Same as specular
reflection, but only used if the lightsource is on opposite side of
surface. Only applied if tranlucency is not 0.
0m1mSPECULAR0m
0m1mTemplate:0m
COLOR/A
0m1mArguments:0m
COLOR COLOR
Color (default: [255,255,255]). Note: this color also can be greater than
255 or negative.
0m1mDescription:0m
Sets the specular color of surface. Specularly reflected highlights fall
off as the cosine of the angle between the reflected ray and the ray to the
light source (specular in Imagine).
0m1mTRANSEXP0m
0m1mTemplate:0m
VALUE/A
0m1mArguments:0m
FLOAT VALUE
Specular transmission exponent (default: 12).
0m1mDescription:0m
Sets the specular transmission exponent of surface. Same as specular
reflection exponent, but only used if the lightsource is on opposite
side of surface.
0m1mTRANSLUC0m
0m1mTemplate:0m
VALUE/A
0m1mArguments:0m
FLOAT VALUE
Specular transmittance (default: 0).
0m1mDescription:0m
Sets the specular transmittance of surface
0m1mTRANSPAR0m
0m1mTemplate:0m
COLOR/A
0m1mArguments:0m
COLOR COLOR
Color (default: [0,0,0]). Note: this color also can be greater than 255 or
negative.
0m1mDescription:0m
Sets the diffuse transmittance of surface
0m1mAREXX-COMMANDS FOR ANIMATION CONTROL0m
3mALIGNMENT0m sets alignment
3mNEWACTOR 0m creates a new actor
3mPOSITION 0m sets position
3mSIZE 0m sets size
0m1mALIGNMENT0m
0m1mTemplate:0m
FROM/A,TO/A,ALIGN/A,TYPE
0m1mArguments:0m
FLOAT FROM,TO
Time interval (no default).
VECTOR ALIGN
Alignment at the end of the interval (no default).
KEYWORD TYPE [LINEAR]
Interpolation type (currently only linear) (default: LINEAR).
0m1mDescription:0m
Sets the alignment of the object. At time to, the actor will have this
alignment.
'TYPE' can be one of the following identifiers:
LINEAR the object moves on a straight line between the positions
SPLINE the object moves on a spline curve between the positions. (NOT
IMPLEMENTED YET)
0m1mNEWACTOR0m
0m1mTemplate:0m
NAME/A,POS,ALIGN,SIZE
0m1mArguments:0m
STRING NAME
Name of actor (no default).
VECTOR POS
Initial position of actor (default: <0,0,0>).
VECTOR ALIGN
Initial alignment (in degrees) (default: <0,0,0>).
VECTOR SIZE
Initial size (default: <1,1,1>).
0m1mDescription:0m
Creates a new actor. Usually a NEWACTOR definition is followed by one or more
POSITION, ALIGNMENT, SIZE commands which define the properties of the actor
at a certain time.
For more information on NEWACTOR, please click 3mhere0m.
0m1mPOSITION0m
0m1mTemplate:0m
FROM/A,TO/A,POS/A,TYPE
0m1mArguments:0m
FLOAT FROM,TO
Time interval (no default).
VECTOR POS
Position at the end of the interval (no default).
KEYWORD TYPE [LINEAR]
Interpolation type (currently only linear) (default: LINEAR).
0m1mDescription:0m
Sets the position of the object. At time to, the actor will be at this
position.
'TYPE' can be one of the following identifiers:
LINEAR the object moves on a straight line between the positions
SPLINE the object moves on a spline curve between the positions. (NOT
IMPLEMENTED YET)
0m1mSIZE0m
0m1mTemplate:0m
FROM/A,TO/A,SIZE/A,TYPE
0m1mArguments:0m
FLOAT FROM,TO
Time interval (no default).
SIZE
Size at the end of the interval (no default).
KEYWORD TYPE [LINEAR]
Interpolation type (currently only linear) (default: LINEAR).
0m1mDescription:0m
Sets the size of the object. At time to, the actor will have this size.
'TYPE' can be one of the following identifiers:
LINEAR the object moves on a straight line between the positions
SPLINE the object moves on a spline curve between the positions. (NOT
IMPLEMENTED YET)
0m1mWHAT IS AN ACTOR?0m
The statement:
NEWACTOR name, position, alignment, size
defines a "virtual object" that can be associated with "real" objects,
including the Camera and the Lights objects. Position, alignment, and
size values are the initial values of an actor.
The object that is associated with a named actor behaves exactly like the
actor. When the actor is sized, rotated, or moved; the associted object is
sized, rotated, or moved accordingly. It is as though the actor and the
object that is associated with it are connected by a rod.
While the coordinates of the object that is associated with an actor are
always defined in an absolute way in reference to the set world; its
movements - when associated with an actor - takes place with respect to
the coordinates of the actor. The coordinates of the actor are defined in
the NEWACTOR statment and can have default values.
The position, alignment, and size values that follow the NEWACTOR statement
are the final values of an actor. By defining time from and to values, a time
increment is defined by which the actor is resized, rotated, or moved from
the initial values to the final values. By associating objects to an actor,
and rendering a picture at a particular time, or through a period of time,
animation and/or motion blur effects are achieved.
0m1mAREXX-ERRORS0m
These values are returned when something went wrong, you can get the
error string with the command 3mGETERRORSTR0m.
0m1mApplication and parser errors0m
Here are the errors returned from the command parser and the application
itself.
100 Wrong screen resolution
Both components of the screen resolution have to be higher than one.
101 Not enough memory
Allocation of memory failed.
102 Limitations of demo version reached
The demo version is limited to a resolution of 160x128.
103 Unknown brush mapping type
You specified an unknown mapping method for the 3mBRUSH0m command.
104 Unknown brush wrapping method
You specified an unknown wrapping method for the 3mBRUSH0m command.
105 Invalid time intervall
One component of a time intervall was negative or the beginning time
was later than the end.
106 Unknown interpolation method
You specified an unknown interpolation method for the 3mPOSITION0m,
3mALIGNMENT0m or 3mSIZE0m command.
107 No picture renderd
There is no picture for 3mSAVEPIC0m to save because you renderd none
or called 3mCLEANUP0m before.
108 Can't open screen
The 3mDISPLAY0m command was unable to open the screen
(!!! THIS COMMAND ISN'T RELEASED IN THIS VERSION YET !!!).
109 Can't open raystorm.library (Only one copy of RayStorm can run at a time)
RayStorm failed to open raystorm.library
110 Can't open intuition.library
RayStorm failed to open intuition.library (at least version 37 is
needed)
111 Can't open window
RayStorm failed to open the window.
112 Can't open muimaster.library
RayStorm failed to open muimaster.library (at least version 8 is
needed)
113 Invalid vector definition
The specified vector has the wrong format (must be '<x,y,z>').
114 Invalid color definition
The specified color has the wrong format (must be '[r,g,b]').
115 Invalid region definition
The specified region is out of range.
116 No light defined
You tried to add lens flares or a light star and there is no previously
defined light source.
117 Unknown flare type
You specified an unknown type for the 3mFLARE0m command.
118 Unknown flare function
You specified an unknown function for the 3mFLARE0m command.
119 Only one object for a CSG object has been defined
CSG objects always need two objects to operate on. For further informaions see
3mCGS0m.
120 Unknonw CSG operator
You specified an unknown operator for the 3mCSG0m command.
121 Unknown hyper texture type
You specified an unkonwn type for the 3mHYPERTEXTURE0m command.
122 Invalid 2d-vector definition
The specified 2d-vector has the wrong format (must be '<x,y>').
0m1mInternal errors0m
This are errors of the renderer.
1 Not enough memory
Allocation of memory failed.
2 Limitations of demo version reached
The demo version is limited to a resolution of 160x128.
3 Wrong screen resolution
Both components of the screen resolution have to be higher than one.
4 Error in triangle definition
It's impossible to generate a triangle with the specified coordinates
(see 3mTRIANGLE0m).
5 The view and up directions are identical?
You specified a view-up-vector for the 3mSETCAMERA0m command which is identical
to the view direction.
6 Not enough memory for screen buffer
The allocation of the screen buffer failed.
7 -- Removed error message. Should never occur --
8 Can't open Imagine texture file
RayStorm failed to open the specified Imagine texture file, check
filename and path.
9 Can't open brush file
RayStorm failed to open the specified brush file, check
filename and path.
10 Error initializing Imagine texture
An error occured as RayStorm tried to initialize a Imagine texture.
11 Can't open picture
RayStorm failed to open the specified picture file, check filename
and path.
12 Error reading picture
An error occured while RayStorm read a picture file.
13 Can't open picture type file ('modules/picture/types')
RayStorm failed to open the typefile. The typefile is needed to
identify the filetypes of the pictures. RayStorm was unable to open
the file 'modules/picture/types'.
14 Error reading picture type file
An error occured while RayStorm read the picture type file, maybe the
file is damaged.
14 Unknown picture format
RayStorm was unable to recognize the format of the picture file.
16 An error occcured while invoking picture handler
The used picture handler returned a error.
17 Can't open object
RayStorm failed to open the specified object file, check filename
and path.
18 Error reading object
An error occured while RayStorm read a object file.
19 Can't open object type file ('modules/object/types')
RayStorm failed to open the typefile. The typefile is needed to
identify the filetypes of the objects. RayStorm was unable to open
the file 'modules/object/types'.
20 Error reading object type file
An error occured while RayStorm read the object type file, maybe the
file is damaged.
21 Unknown object format
RayStorm was unable to recognize the format of the object file.
22 An error occcured while invoking object handler
The used object handler returned a error.
23 Actor not defined
The specified actor name does not exist.
24 Surface not defined
The specified surface name does not exist.
25 Depth of octree too big (max. 6)
The octree depth is limited to a depth of 6.
26 Antialiasing value too big (max. 8)
The value of the 3mANTIALIAS0m command is limited to 8.
27 Invalid time intervall
One component of a time intervall was negative or the beginning time
was later than the end.
28 No picture renderd
There is no picture for 3mSAVEPIC0m to save because you renderd none
or called 3mCLEANUP0m before.
29 Distribution value too big (max. 8)
The value of the 3mDISTRIB0m command is limited to 8.
30 Wrong error number
The error number for 3mGETERRORSTR0m is out of range.
31 Unknown Parameter
A RSI-function was called with an unknown parameter (should nerver occur).
32 -- Development error message. Should never occur. --
33 Need at least 4 points for surface of revolution
You have to specify at least 4 points for a 3mSOR0m.
34 Incorrect point in surface of revolution
The distance in y-direction of following points is 0.
35 A CSG object needs at least 2 objects to operate with
You defined a CSG object with only on object to operate on (see also 3mCSG0m).
36 Invalid object type for CSG
Not all objects can be used with CSG (see also 3mCSG0m).
37 Need at last a V2 object handler to load file
You have an old object handler. Please update to a newer one.
38 Need at last a V2 picture handler to load file
You have an old picture handler. Please update to a newer one.
39 Invalid keyfile
You don't have a valid keyfile
0m1mEXAMPLES0m
We have included several demos in the directories 'arexx' and 'examples'
to show how to use RayStorm.
In the 'arexx' directory are examples scripts which show the usage of
RayStorm with ARexx. Start them simply by typing 'rx ???.ray' in a shell
(???.ray is the name of the script).
In the 'examples' directory are C-programs which show the usage of
RayStorm directly with a program. They can only be run from a shell.
These programs are producing a couple of pictures no animation, which must
be glued together with a utility like MainActor.
0m1mTUTORIALS0m
If you use RayStorm for the first time, then it would be a good idea to do
the following tutorials:
3mSimple scene 0m
3mBouncing ball0m
3mMotion blur 0m
0m1mTutorial: Simple scene0m
Now we will create a very famous scene. A sphere over a checkerboard! Ok, it
may be boring, but it's good for the absolute beginner to get an
impression of building a scene.
Here we go:
1. In the drawer 'ARexx' of the RayStorm directory there is a file named
'default.ray'. This is a default form for RayStorm ARexx scripts. You can
use this form to write your own scripts.
We'll use this file as a default for our animation script. Copy this file
to the file 'simple.ray'. After this load the file 'simple.ray' to your
favorite text editor (e.g GoldEd or CygnusEd).
2. To view the scene, we need a camera. Insert after the line 'address
RAYSTORM' the line:
0m3m '3mSETCAMERA0m <6,1.5,-1.5> <0,0,0> <0,1,0>'0m
This sets the camera to position <6,1.5,-1.5>. The camera points to
<0,0,0> and the view-up vector is <0,1,0>. Note that you don't have to
specify every single parameter. Every command has default values. Refer
to the description of a command to find out the default values.
3. Nothing can be seen without a lightsource.
Go to the next line and type:
0m3m '3mPOINTLIGHT0m <0,50,0> [255,255,255] SHADOW'0m
The sphere is illuminated from above with white light.
4. Before placing the objects in the scene, you have to define their
surfaces.
Insert this line:
0m3m '3mNEWSURFACE0m planesurf'0m
This creates a surface with name planesurf. The plane has a checkered
surface, so insert:
0m3m '3mIMTEXTURE0m /textures/checker.itx <0.1,0.1,0.1> <0,0,0> <2,2,2>'0m
5. That was the plane texture. Let 's go over to sphere texture.
Add:
0m3m '3mNEWSURFACE0m spheresurf'0m
The sphere has a mirrored surface. To simulate a perfect mirror, type
0m3m '3mREFLECT0m [255,255,255]'0m
6. Now we can add the objects to the scene:
0m3m '3mSPHERE0m spheresurf <0,0.5,0> 1'0m
This creates a sphere on position <0,0.5,0> and radius 1.
Add the plane:
0m3m '3mPLANE0m planesurf'0m
The default values for the position and the normal vector fit to our
scene, so we can take them over.
7. Let's make an end to the definitions and render the scene!
Type:
0m3m '3mSTARTRENDER0m'0m
8. Finally we may not forget to save the picture, so add:
0m3m '3mSAVEPIC0m simple.iff'0m
which will save the renderd picture in the current directory as a
IFF-ILBM file.
The last step is to free all the memory with the command 'CLEANUP'. Add:
0m3m 3mCLEANUP0m'0m
9. Start the script from a shell-window with the sequence 'rx simple.ray'.
RayStorm will now generate your picture. When RayStorm finished the work
start your favourite viewer-program, load the file and have a look at
it.
Looks very monochrome!!
To make the world colorful, we make a red checker and set the sky to
blue. A blue sky can be done by setting the world's background color.
10. Before 'SETCAMERA' insert:
0m3m '3mSETWORLD0m [30,30,255]'0m
Add
0m3m '3mDIFFUSE0m [155,0,0]'0m
to the surface planesurf (this defines one checker color), the other one
must be set in the 'IMTEXTURE' command, so change it to
0m3m '3mIMTEXTURE0m /textures/checker.itx <0.1,0.1,0.1> <0,0,0> <2,2,2> 255 0 0'0m
(Note that '255 0 0' describes a color, but is not embedded in < >,
because the checker color belongs to the texture parameters which are
all floats.)
11. Render the scene once again, and view it.
That's the end of the tutorial! Make some changes to the scene file and
play around with the parameters to see their effects.
0m1mTutorial: Bouncing ball0m
The goal of this tutorial is to show you how to generate little animations.
At the end of this tutorial you'll have a animation where the earth rotates
and bounces on a rotating plane with a white checker texture on the top and
a red checker on the bottom. If you have a fast computer you can also
generate the animation with motion blur.
O.k. here we go:
1. In the drawer 'ARexx' of the RayStorm directory there is a file named
'default.ray'. This is a default form for RayStorm ARexx scripts. You can
use this form to write your own scripts.
We will use this file as a default for our animation script. Copy this file
to the file 'bounce.ray'. After this load the file 'bounce.ray' to your
favorite text editor (e.g GoldEd or CygnusEd).
2. First we define some values: the acceleration of the ball and the amount
of frames to generate.
RayStorm has three commands to set the paths where it searchs the files
it needs. We use a brush for the surface of the ball and a texture for
the surface of the ground.
To do this we have to insert after the command 'ADDRESS RAYSTORM' the
lines:
0m3m g = .2
frames = 17
'3mBRUSHPATH0m /brushes'
'3mTEXTUREPATH0m /textures'0m
It's the same if you write the commands in upper case or lower case.
But it's important to enclose all commans in quotes because ARexx tries
to interpret the line before it sends it. It may happen that the line is
changed and RayStorm don't do the things you want.
3. Next we set the screen resolution. For the first experiments we choose
a low resolution of 160x128 pixels. Insert the line:
0m3m '3mSETSCREEN0m 160 128'0m
4. Now we set the camera parameters. The first three values determine the
position of the camera. We want to place it so that we can see the ball
all over the time. The next values set the viewpoint of the camera, this
is the point the camera aims to. The next values determine the view up
vector. And the last two values determine the field of view. To get a
pixel aspect of 1:1 we have to set them to 25 and 20 degree.
0m3m '3mSETCAMERA0m <0,10,40> <0,5,0> <0,1,0> 25 20'0m
5. We want to have a bright blue background for our animation. The
background and the global ambient color is set with the 'SETWORLD'
command. We want to set the ambient color to a dark gray, if this color
is to bright the scene will look washed out and the objects appear flat.
Insert the line:
0m '3mSETWORLD0m [10,30,200] [10,10,10]'0m
6. The illumination is an important part of a scene. We want to place a
pointlight near the camera. Add the line:
0m '3mPOINTLIGHT0m <5,10,50>'0m3m
7. Now we define the actor for the plane. We want to rotate it around the
Z-axis. Insert the lines:
0m3m '3mNEWACTOR0m groundactor'
'3mALIGNMENT0m 0 ' frames+2 ' <0,0,360>'0m
7. Now we define the surface for the plane and the plane itself. We make it
a little reflective and apply a checker texture. The surface 'groundtop'
is for the top of the plane and the surface 'groundbottom' is for the
bottom of the surface. The plane itself consits of four triangles. Two
fo the top and two for the bottom. Insert the lines:
0m3m '3mNEWSURFACE0m groundtop'
'3mDIFFUSE0m [255,255,255]'
'3mSPECULAR0m [0,0,0]'
'3mREFLECT0m [50,50,50]'
'3mIMTEXTURE0m checker.itx <0,-1,0> <0,0,0> <10,10,10> ACTOR groundactor'
'3mNEWSURFACE0m groundbottom'
'3mDIFFUSE0m [255,0,0]'
'3mSPECULAR0m [0,0,0]'
'3mREFLECT0m [50,50,50]'
'3mIMTEXTURE0m checker.itx <0,-1,0> <0,0,0> <1.5,1.5,1.5> ACTOR groundactor'
'3mTRIANGLE0m groundtop <-2,0,-2> <2,0,-2> <2,0,2> ACTOR groundactor'
'3mTRIANGLE0m groundtop <-2,0,-2> <-2,0,2> <2,0,2> ACTOR groundactor'
'3mTRIANGLE0m groundbottom <-2,-.01,-2> <2,-.01,-2> <2,-.01,2> ACTOR groundactor'
'3mTRIANGLE0m groundbottom <-2,-.01,-2> <-2,-.01,2> <2,-.01,2> ACTOR groundactor'0m
8. Next we define the motion of the ball. It starts at a height of 10 and
accelerates until it bounces on the plane, changes it's direction and
the motions ends as the ball is back at he start point. Additional the
ball rotates around the Y-axis. Add the following sequence to your script:
0m3m speed = -g
pos = 10
'3mNEWACTOR0m ballactor <0,'pos',0>'
do i=0 to frames
'3mPOSITION0m ' i i+1 '<0,'pos',0>'
pos = pos+speed
if pos<=1 & speed<0 then
speed = -speed
else
speed = speed-g
end
'3mALIGNMENT0m 0 ' frames+2 ' <0,360,0>'0m
9. Now we define the surface for the ball and the ball itself. The only thing
we must do is to map a earth styled brush map to a sphere. To reach this
goal the position of the brush must be set to the middle of the sphere
and the size must be small enough to be completely inside the sphere.
This are the lines to define the ball:
0m3m '3mNEWSURFACE0m ball'
'3mBRUSH0m earth.iff COLOR WRAPXY <0,10,0> <0,0,0> <.1,.1,.1> ACTOR ballactor'
'3mSPHERE0m ball <0,10,0> 1 ACTOR ballactor'0m
10. If your computer is fast enough you can insert the follwing lines:
0m3m '3mANTIALIAS0m 2'
'3mDISTRIB0m 2'0m
'ANTIALIAS' improves the quality of the picture; 2 or 3 are normal values,
higher values don't improve the quality significant.
A value higher than one for 'DISTRIB' switches {"motion blur" link Motion_Blur} on.
11. At this the we have finished the definitions and now can render the single
frames. If youn want the reflections of the ball on the plane you have
to delete the keyword 'QUICK', because RayStorm renders no reflections in
quick mode. The frame time is set with 'FROM' and 'TO'. We save the frames
as IFF-ILBM pictures with the names 'bounce0001.iff' ... 'bounceXXXX.iff'.
The last step is to free all the memory with the command 'CLEANUP'. Add
these lines:
0m3m do i=0 to frames
'3mSTARTRENDER0m QUICK FROM 'i' TO 'i+1
'3mSAVEPIC0m bounce' || RIGHT(i,4,0) || '.iff'
end
'3mCLEANUP0m'0m
12. Start the script from a shell-window with the sequence 'rx bounce.ray'.
RayStorm will now generate your frames. When RayStorm finished the work
you must glue the pictures together to get the animation.
That's all. Have fun!
0m1mTutorial: Motion blur0m
In this tutorial we show you how to make animations and how to use motion
blur.
To animate objects we need ACTORs. An ACTOR can be seen as a virtual object
which can have a certain position/alignment/size at a certain time. ACTORs can
be used for keyframe animation by giving control points which RayStorm can
interpolate (only linear for now. Spline interpolations will be implemented
later).
You can assign an ACTOR to one or more real objects. An object with an actor
assigned to it will follow all actions the actor does. Let's take the sphere
from the second tutorial and move it to direction of the camera.
Type following:
0m3m'3mSETCAMERA0m <6,1.5,-1.5> <0,0,0><0,1,0>'
'3mPOINTLIGHT0m <30,50,30> [255,255,255] SHADOW'0m
you can add POSITION, ALIGNMENT and SIZE commands after NEWACTOR
(similar to the surface commands after NEWSURFACE)
0m3m'3mNEWACTOR0m actor'
'3mPOSITION0m 0 5 <3,0,0.4>'
'3mNEWSURFACE0m planesurf'
'3mDIFFUSE0m [255,30,30]'
'3mIMTEXTURE0m "checker.itx" <0.1,0.1,0.1> <0,0,0> <2,2,2> 155 25 0'
'3mNEWSURFACE0m spheresurf'
'3mREFLECT0m [255,255,255]'
'3mSPHERE0m spheresurf <0,1,0> 0.7 actor'
'3mPLANE0m planesurf'0m
You can make an animation by a series of STARTRENDER/SAVEPIC combinations. Our
little movie shall consist of 6 frames, so we will subdivide our time intervall
(1 unit) and make a photo every 0.2 time units. The STARTRENDER command has the
option to render a picture within a certain time intervall. That can be
compared with the shutter time of a real camera. The camera of RayStorm records
all movements of the objects in the scene within that time intervall which
results in a blurred scene. At the beginning we do no motion blur, so we set
the start and the end time to the same value. (Which means no shutter time).
Add this code and execute it:
0m3mdo i=0 to 5
'3mSTARTRENDER0m QUICK FROM 'i' TO 'i
'3mSAVEPIC0m sphere' || RIGHT(i,4,0) || '.iff'
end
'3mCLEANUP0m'0m
You can make a movie out of it using an animator program such as MainActor.
Now we introduce one of the advanced features of RayStorm: Motion Blur
Replace the commands above by the following lines:
0m3m/* when doing motion blur you *MUST* add the distrib command +/
'3mDISTRIB0m 3'
/* shutter time is 1 */
do i=0 to 5
'3mSTARTRENDER0m QUICK FROM 'i' TO 'i+1
'3mSAVEPIC0m sphere' || RIGHT(i,4,0) || '.iff'
end
'3mCLEANUP0m'0m
For each frame, the camera opens the shutter 0.2 time units long and records
what's happening. As you can see, an animation with motion blur gives a better
visual effect.
Again feel free to change the parameters.
0m1mTEXTURES0m
Textures are mathematically generated patterns which can be applied to the
surface of an object.
There are several textures in the directory 'textures'.
3m Bump 0m
3m Checker 0m
3m Fire 0m
3m Linear 0m
3m Marble 0m
3m Radial 0m
3m Stars 0m
3m Wood 0m
0m1mBUMP0m
This texture applies bumps to the surface.
Size of texture determines size of the bumps.
0m1mParameters:0m
1: X bump size
2: Y bump size
3: Z bump size
set the 'depth' of the bumps.
Example:
sphere with radius 1
0m3mIMTEXTURE bump.itx <0,0,0> <0,0,0> <.3,.3,.3> 1 1 10m
3mPicture0m
0m1mCHECKER0m
This texture applies thw ell known checker pattern to the surface.
0m1mAttention!
If you apply a checker texture to a plane, the plane may not be at the same
position on which the checker changes its color. Otherwise you get a noisy
texture due to rounding errors.0m
0m1mParameters:0m
1: Color Red
2: Color Green
3: Color Blue
Color of the checkers, other color is taken from object.
4: Reflect Red
5: Reflect Green
6: Reflect Blue
Reflect color of the checkers.
7: Filter Red
8: Filter Green
9: Filter Blue
Filter color of the checkers.
0m1mExample:0m
0m3mIMTEXTURE "checker.itx" <0,0.1,0> <0,0,0> <2,2,2> 255 0 00m
3mPicture0m
0m1mFIRE0m
This texture generates a pattern which look like fire. It's based on the book
3mTexturing and Modeling0m.
0m1mParameters:0m
1: Chaos Scale higher values make sharper flames
2: Chaos Offset higher values make more flames with bottom color (white)
lower values more top colored flames (red)
3: Octaves determines the frequency of the flames
4: Flameheight
5: Flameamplitude
6: Bottom Red
7: Bottom Green
8: Bottom Blue is the bottom fire color (white)
9: Middle Red
10: Middle Green
11: Middle Blue is the middle color (yellow)
12: Top Red
13: Top Green
14: Top Blue is the top color (red)
15: Transparent Top if not 0 the texture gets more transparent from bottom
to top
Example:
plane with
0m3mIMTEXTURE fire.itx <0,0,0> <0,0,0> <1,1,1>0m
3mPicture0m
3mHigh Chaos Scale0m
0m1mLINEAR0m
This texture varies the color of the object in the y-direction of the
texture.
0m1mParameters:0m
1: Color Red
2: Color Green
3: Color Blue
color to interpolate to.
4: Reflect Red
5: Reflect Green
6: Reflect Blue
reflection to interpolate to.
7: Filter Red
8: Filter Green
9: Filter Blue
filter to interpolate to.
0m1mExample:0m
0m3mIMTEXTURE "linear.itx" <0,0.1,0> <0,0,0> <2,2,2> 0 0 2550m
3mPicture0m
0m1mWOOD0m
This texture applies a wood like texture to the surface.
Size of texture determines size of wood.
0m1mParameters:0m
1: Color Red
2: Color Green
3: Color Blue
Color. Other color is taken from object.
4: Reflect Red
5: Reflect Green
6: Reflect Blue
Reflection color.
7: Filter Red
8: Filter Green
9: Filter Blue
Filter color.
10: Octave
The higher the octave the noisier are the wood rings.
11: Frequency
The higher the frequency the smaller the wood rings.
0m1mExample:0m
cube with size 2
0m3mIMTEXTURE wood.itx <0,0,0> <0,0,0> <1,1,1> 255 255 50 0 0 0 0 0 0 2 40m
3mPicture0m
0m1mMARBLE0m
This texture applies a marble like texture to the surface.
Size of texture determines size of bumps.
0m1mParameters:0m
1: Color Red
2: Color Green
3: Color Blue
Color. Other color is taken from object.
4: Reflect Red
5: Reflect Green
6: Reflect Blue
Reflection color.
7: Filter Red
8: Filter Green
9: Filter Blue
Filter color.
10: Octave
The higher the octave the noisier is the texture.
0m1mExample:0m
cube with size 2
0m3mIMTEXTURE marble.itx <0,0,0> <0,0,0> <.5,.5,.5> 150 50 50 0 0 0 0 0 0 70m
3mPicture0m
0m1mRADIAL0m
This texture varies the color of the object radial around the texture axis.
0m1mParameters:0m
1: Start radius
Interploation start radius.
2: End radius
Interploation end radius.
3: Color Red
4: Color Green
5: Color Blue
Color to interpolate to.
6: Reflect Red
7: Reflect Green
8: Reflect Blue
Reflection to interpolate to.
9: Filter Red
10: Filter Green
11: Filter Blue
Filter to interpolate to.
0m1mExample:0m
0m3mIMTEXTURE "radial.itx" <0,0,0> <0,0,0> <1,1,1> 1 2 255 0 00m
3mPicture0m
0m1mSTARS0m
This texture applies randomly stars to the surface. Cannot be used in
animations!
0m1mParameters:0m
1: Color Red
2: Color Green
3: Color Blue
Color of the stars.
4: Density
Star density. The higher the more stars (0. - 1.).
0m1mExample:0m
0m3mIMTEXTURE "stars.itx" <0,0,0> <0,0,0> <1,1,1> 255 255 255 0.10m
3mPicture0m
0m1mKNOWN BUGS0m
- Directly after starting Scenario the object menus don't pop up when
pressing the right mouse button in the work area. This seems to be
a problem of MUI. Click with the left mouse button somewhere outside
the work area and the menues work like they should do.
0m1mDISCLAIMER0m
THERE IS NO WARRANTY FOR THIS PROGRAM TO THE EXTENT PERMITTED BY APPLICABLE
LAW. EXCEPT WHERE OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDER AND/OR
OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND,
EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE
ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.
SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY
SERVICING, REPAIR OR CORRECTION.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL
ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY REDISTRIBUTE THE PROGRAM
AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL,
SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR
INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR
DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES
OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
DAMAGES.
0m1mCOPYRIGHT0m
The RayStorm package is Copyright 1995-97 by Andreas Heumann and Mike Hesser.
All Rights Reserved. It is released under the concept of `Shareware'.
The archive of RayStorm may only be distributed in unmodified form. No files
may be added, changed or removed. You may not charge for this archive, other
than the cost of the media and duplication fees. Distribution is allowed in
all forms, such as BB systems, floppy or compact disks, and ftp sites.
0m1mCREDITS0m
We want to thank the following persons:
- Joerg Dietrich, Stephan Dorenkamp, Richard Körber, Francesco Leonardi
and Gabriele Venturi for beta testing.
- Jan Hlavaty for hours of work he had done, and many useful tips to make
RayStorm better and more bugfree (Jan: I _HATE_ bugs. Splat 'em!!! :-) )
- Bernhard Moench - chairman of Plasma Pictures (a great Amiga club)
Address:
Plasma Pictures
Reality and Imagination!
Bernhard Moench
Regensburger Strasse 28c
10777 Berlin
GERMANY
- Maan Hamze - for testing, hundrets of suggestions and bugreports...
... and many many E-Mails
- Klaus Melchior for his listtree class
- Stefan Stunz for MUI
- Thanks to all registrated users for the support of the shareware concept.
0m1mREGISTER0m
If you like RayStorm use the registration programm to register.
Fill out the registration form and press the 'Print' button.
If the printer is installed correctly, the registration is printed out.
You can get information about the current agreements by pressing the 'Info'
button.
Note: please send us no postal money orders or cheques or something like that.
We have to pay very high fees (about 15$) here in germany to exchange them
to cash. To send cash is the easiest way for us.
0m1mAUTHORS0m
For bug reports, comments, suggestions ... you can contact us at the
following addresses (E-mail prefered).
Amiga-version:
Andreas Heumann
E-mail: andreash@diamondmm.com
S-mail: Wittelsbacherstr. 5
82319 Starnberg
Germany
PC-version:
Mike Hesser
E-mail: calvin@sol.wohnheim.uni-ulm.de
S-mail: Schlehenbühl 13
89075 Ulm
Germany
0m1mPC-VERSION0m
The PC version is available on the Internet from our 3mhomepage0m.
0m1mHISTORY0m
3mRayStorm Scenario 0m
3mRayStorm Script 0m
3mRayStorm Raytracer0m
0m1mHISTORY0m
version 1.0b (27-August-96)
- initial release.
version 1.1 (04-October-96)
- save and load materials in attribute requester
- create cube, sphere, plane, tube, cone and torus mesh objects
- fixed bug with color requesters (colors changed every call)
- string gadgets now advance to next/prev gadget when return is pressed
- improved zooming with the mouse
- added enable button for render area
- fixed problems with KS-versions less than 3.0 (<39)
- key 't' opens settings requester
- added new preview resolutions (NTSC 80x50,PAL 80x64,VGA 80x60)
- if more than one object is selected the object for attributes can be
selected by the browser
- implemented two browser modes
- added center view with 'R-Amiga - .'
- joined settings and transform requester
- several bugfixes
- improved object scaling with mouse
- can now scale external objects
version 1.2 (29-November-96)
- forgot to scale child objects of external objects
- added ok button to render requester
- added 3mcamera to viewer0m
- added hierarchical object browser
- ask for rendering of scenes with no light sources
- bugfix: it was impossible to track and to set the opening angle of a
spotlight
- convert external to scene objects
- added RayStorm object file format (RSOB)
- fixed problem with vertical stripes with 020-version
- fixed problem with screen update
- coordinate display even if no object is translated
- focal distance of camera can automatically be set to camera-track distance
- added preview to attributes requester
- improved color selection for rendering preview window
- added show and save button to registration program
- added some materials
- added lens effects (flares, light star)
version 1.8 (16-February-97)
- minimum amount of objects for octree is now setable in the 3mRender Settings0m
requester
- added spikewidth to visible light star
- added new/load/save buttons
- all objects can track each other
- added undo and redo
- added box object
- added status bar
- added tilt angle to light star
- the render window can now be set with the mouse
- objects can now be selected with a selection box
- raw object loader works now correctly
- lens flares in the requester are now selectable with the mouse
version 2.0 (18-November-97)
- added 'Time estimated' to render status window
- 3mrecent files0m in project menu
- Scenario is now asking for a new filename when it wants to load or render
a project and can't find an object, brush or texture
- improved redraw speed
- toolbar images can now also be external images (see 3mhere0m for details)
- added cylinder, 3mCSG0m, 3mSOR0m and cone object
- Scenario can now be called with a name of a project as argument, which then is
loaded.
- added object browser with drag and drop capabilities to the side of the draw
area
- added enable button for backdrop and reflection map
- added material manager to the bottom of the draw area
- material previews are calculated independently in threads
- resolution predefinitions can now be set in the ASCII-file 'prefs/res.dat'
- it's now possible to edit and change meshes
- more than one transformation or material requesters can now remain
open
version 2.1 (18-May-98)
- now supports high and true color cybergfx screens
- new lensflare types (exponent 1, exponent 2)
- new and improved light star
- added Lightwave object loader
- PPC version
- names of brushes and textures can be changed in material requester
- brushes with cylindrical and spherical mapping are now drawn as cylinders and spheres
- Size of external toolbar images is now set to size of first button (new.iff)
- more colors (colors can be set in preferneces)
- load and save in light settings requester
- rendering in the background
- OpenGL support (StormMesa, not for 881 version)
- ARexx port
- Object now can be moved, rotated and scaled in world and local coordinate systems
version 2.2 (08-September-98)
- RayStorm textures
- NFF object loader
- directional light
- soft spot light
0m1mHISTORY0m
version 1.02 (16-August-95)
- added BRIGHT-flags for surface
- deleted TRANSATTU
version 1.081 (08-October-95)
- added listview for history
version 1.13 (01-November-95)
- now more than one path with PATH-commands possible
version 1.16 (09-January-96)
- added 'SOFTSHADOW' to '3mDISTRIB0m'
- added 'FALLOFF' for '3mPOINTLIGHT0m' and '3mSPOTLIGHT0m'
version 1.2 (29-February-96)
- bugfix '3mANTIALIAS0m' command: parameter CONTRIB produced error 30
version 1.22 (25-April-96)
- added '3mSURFACE0m' to '3mLOADOBJ0m' to replace objects surface with own surface
version 1.26 (04-October-96)
- fixed a bug which caused the program to crash on exit
version 1.3 (29-November-96)
- added '3mFLARE0m' and '3mSTAR0m'
version 1.8 (16-February-97)
- added 'MINOBJECTS' to '3mSTARTRENDER0m'
- added 'SPIKEWIDTH' to '"{"STAR" link STAR}'
- added 'NOSTAR' and 'NOFLARES' to '3mPOINTLIGHT0m' and '3mSPOTLIGHT0m'.
- added '3mBOX0m' command
- added '3mCSG0m' command
- bugfix: 'RANDJIT'-flag of '3mSETWORLD0m' has been ignored.
- added 'TILT' to '3mSTAR0m'
version 2.0 (18-November-97)
- added 'SHADOWMAP' and 'SHADOWMAPSIZE' to '3mPOINTLIGHT0m' and '3mSPOTLIGHT0m'
- added 'FUZZY' to '3mSPHERE0m'
- added '3mHYPERTEXTURE0m'
- added 'INVERTED' to '3mBOX0m', '3mCSG0m' and '3mSPHERE0m'
- added '3mCYLINDER0m', '3mSOR0m' and '3mCONE0m' command
- problems with example files which needed bigger stacks. Now RayStorm is
started from the ARexx scripts with a shell script.
version 2.1 (18-May-98)
- added 'COLOR', 'RINGCOLOR', 'NOISE' and 'BRIGHTNESS' to '{"STAR" link STAR}'.
- added new keywords 'EXP1' and 'EXP2' to '3mFLARES0m'.
- PPC version
version 2.2 (08-September-98)
- added '3mDIRECTIONALLIGHT0m'
- added 'FALLOFFRADIUS' to '3mSPOTLIGHT0m'
0m1mHISTORY0m
version 1.0 (09-July-95)
- initial release.
version 1.01 (15-August-95)
- added soft shadows
- added random jitter
- added brush repeat and mirror
version 1.02 (16-August-95)
- bugfix: altitude mapping -> black object: fixed
- bugfix: loading of TDDD-objects with brushes crashed: fixed
- added backdrop picture
- added BRIGHT-flags for surface
- added fog
version 1.03 (17-August-95)
- bugfix: sphere intersection test: fixed
version 1.04 (21-August-95)
- added global fog
version 1.05 (28-August-95)
- added animation commands
version 1.06 (01-September-95)
- added motion blur
version 1.07 (10-September-95)
- added specular brush mapping
version 1.08 (11-September-95)
- added rendering box
version 1.081 (08-October-95)
- added global reflection map
- changed error messages
version 1.082 (11-October-95)
- improved memory management for Imagine objects
version 1.083 (12-October-95)
- changed spotlight direction to lookpoint and added actor for lookpoint
- new form for vectors '<x,y,z>'
- new form for colors '[r,g,b]'
version 1.1 (18-October-95)
- next offical release
version 1.11 (19-October-95)
- bugfix: Imagine fog objects are now loaded properly
- added parameter check for field rendering
version 1.12 (21-October-95)
- speedup of motion blur
version 1.13 (01-November-95)
- bugfix: spotlight look point changed camera view point
- added soft interpolation of colors for brushmapping
- bugfix: objects behind light sources casted shadows
version 1.14 (03-November-95)
- changed default gaussian filter width from 1.8 to 1.3
- bugfix: problem with global fog
- plane can now be animated
- changed axis position in flat brush mapping
- added 'Time spend' and 'Time left'
version 1.15 (28-November-95)
- added PNG- and ILBM-modules
- added radial texture
version 1.16 (09-January-96)
- bugfix in PNG-module: had problems with palette pictures
- bugfix motion blur: had a problem with voxel calculations
- bugfix motion blur: had no motion blur in scenes with planes
- added TGA-module
- added 'SOFTSHADOW' to 'DISTRIB'
- optimized octree (up to 10% faster)
- added 'FALLOFF' for 'POINTLIGHT' and 'SPOTLIGHT'
- bugfix can now load plane
- bugfix can now load multiple planes or perfect spheres
version 1.17 (18-February-96)
- object loading is now done in modules
- added 3DS module
- bugfix in TDDD-module: hardness is now used to set REFEXP
- brushes and textures are no applied to surfaces which lie
between the light source and the illuminated surface
- bugfix antialiasing: there where some bright pixel trash in the picture
if antialiasing with fog was used
- rewrote bump, wood and marble textures
- global reflections map is now applied in 'QUICK' mode too
version 1.2 (29-February-96)
- bugfix: last line of picture has been always black
- bugfix: had problems with Imagine 4.0 TDDD objects
version 1.21 (25-March-96)
- TDDD objects are now rotated and scaled relative to axis of first object
- bugfix: since 1.2 shadows in motion blur scenes were calculated false
- bugfix: in some cases there were vertical and horizontal stripes in
rendered pictures
- bugfix: triangles which were exactly in one plane (XY,XZ,YZ) disapeared
version 1.22 (25-April-96)
- bugfix: had problems with sharp edges of TDDD objects
- bugfix: altitude brush mapping produced ugly results
- bugfix: fixed some motion blur bugs
- added 'SURFACE' to 'LOADOBJ' to replace objects surface with own surface
- added datatype support for all commands which load brushes
version 1.25 (08-September-96)
- the RayStorm kernel is now a shared library
- added support of new TDDD TXT4 chunk for textures from Imagine 4.0
- changed the world axis orientation (x left, y up, z in)
version 1.26 (04-October-96)
- fixed error in marble texture
- bugfix: had problems with sharp edges of TDDD objects (once again)
version 1.3 (29-November-96)
- recompiled raystorm.library with StormC -> upto 30% faster (68030/881)
- backdrop pictures are now automatically scaled
- added lens effects (flare, light star)
version 1.8 (16-February-97)
- added shadow cache (improves rendering speed for scenes with many shadows)
- fire texture
- minimum amount of objects for octree
- added spikewidth to visible light star
- added box object
- added CSG
- added tilt angle to light star
- brushes support now 24 bit datatypes too
- lens flares are now softly interpolated to the border of the flare
version 2.0 (18-November-97)
- RSOB-loader failed to load mesh objects without triangles
- added 'Time estimated' to render status window
- position actor didn't work since 1.8
- under some circumstances the light star and the lens flares were not on the
right place
- added shadowmap to the lights
- added 3mhyper textures0m
- added cylinder and cone object
- added 3msurface of revolution0m
- added JPEG-modules
version 2.1 (18-May-98)
- improved lens flares and light star
- added Lightwave object loader
- PPC version
- improved overall rendering speed (30%)
- improved motionblur rendering speed
version 2.2 (08-September-98)
- RayStorm textures
- directional light
- soft spot lights
- improved speed (about 10-15%)
0m1mHOMEPAGE0m
Come and visit our RayStorm-Homepage! There you can always get the latest
version of RayStorm and can see some example pictures.
The address:
http://www.uni-ulm.de/~s_mhesse/raystorm.html
0m1mFUTURE ADDITIONS0m
0m1mRayStorm Scenario0m
- animation control
- text object generator
0m1mRayStorm Raytracer0m
- animation language (ALAN)
- more textures
- don't allocate whole picture buffer at once
- diffuse reflectivity
- diffuse transparency
- log file
- apply post-2D-FX
- spline interpolation for actors
- metaballs
- some extra programs (e.g. terrain and plant generation)
0m1mComputer Graphics0m
J.D. Foley, A. van Dam
Addison-Wesley Publishing Company
0m1mAdvanced Animation and Rendering Techniques
Theory and Practice0m
Alan Watt, Mark Watt
Addison-Wesley Publishing Company
0m1mTexturing and Modeling
A Procedural Approach0m
Ebert, Musgrave, Peachy, Perlin, Worley
1994 Academic Press
ISBN 0-12-228760-6
0m1mHypertexture0m
Ken Perlin, Courant Institute of the Mathematical Science, New York University
Eric M. Hoffert, AT&T Pixel Machines
SIGGRAPH '89, page 253-262
0m1mInteractive Computer Graphics
Functional, Procedural and Device-Level Methods0m
Peter Burger, Duncan Gillies
Addison-Wesley Publishing Company
ISBN 0-201-17439-1
0m1mFast Algorithms for 3D-Graphics0m
Georg Glaeser
Springer-Verlag
ISBN 0-387-94288-2
0m1m-A-0m
3mAbout 0m
3mActive 0m
3mAddresses 0m
3mADDMATERIAL 0m
3mALIGNMENT 0m
3mAltitude brush 0m
3mAMBIENT 0m
3mANTIALIAS 0m
3mAntialiasing 0m
3mARexx 0m
3mASSIGNMATERIAL 0m
3mASSIGNMATERIALTOSELECTED0m
3mAttributes 0m
3mAuthor 0m
0m1m-B-0m
3mBackdrop 0m
3mBox 0m
3mBOX 0m
3mBrowser 0m
3mBrushes 0m
3m - show 0m
3mBRUSH 0m
3mBRUSHPATH 0m
3mBugs 0m
3mBump 0m
3mButtons 0m
0m1m-C-0m
3mCamera 0m
3m - Active 0m
3m - Settings 0m
3m - to viewer 0m
3mCAMERA2VIEWER 0m
3mChecker 0m
3mCLEANUP 0m
3mColor brush 0m
3mCommands 0m
3mCone 0m
3m - settings 0m
3mCONE 0m
3mCoordinates 0m
3mCopy 0m
3mCOPY 0m
3mCopyright 0m
3mCREATEOBJECT 0m
3mCredits 0m
3mCSG 0m
3m - difference 0m
3m - intersection 0m
3m - introduction 0m
3m - union 0m
3mCSG 0m
3mCut 0m
3mCUT 0m
3mCylinder 0m
3m - mapping 0m
3m - settings 0m
3mCYLINDER 0m
0m1m-D-0m
3mDelete 0m
3mDELETE 0m
3mDELETEMATERIAL 0m
3mDepth of field 0m
3mDeselect All 0m
3mDIFFTRANS 0m
3mDIFFUSE 0m
3mDirectional light 0m
3m - Settings 0m
3mDIRECTIONALLIGHT 0m
3mDISPLAY (Script) 0m
3mDISPLAY (Scenario) 0m
3mDISTRIB 0m
0m1m-E-0m
3mE-Mail 0m
3mErrors 0m
3mExamples 0m
0m1m-F-0m
3mFAQ 0m
3mFeatures 0m
3mFilter brush 0m
3mFire 0m
3mFLARE 0m
3mFlat mapping 0m
3mFocus 0m
3mFOGLEN 0m
3mFuture 0m
0m1m-G-0m
3mGeneral 0m
3mGETERRORSTR 0m
3mGETOBJECTALIGN 0m
3mGETOBJECTPOS 0m
3mGETOBJECTSIZE 0m
3mGETSLEOBJNAME 0m
3mGlobal 0m
3mGrid 0m
3m - Size 0m
3m - Snap to 0m
3mGROUP 0m
0m1m-H-0m
3mHistory 0m
3mHomepage 0m
3mHYPERTEXTURE 0m
3m - introduction 0m
0m1m-I-0m
3mIMTEXTURE 0m
3mIndex of refraction 0m
3mInstallation 0m
3mInternals 0m
3mIntroduction 0m
3m - Raytracer 0m
3m - Scenario 0m
3m - Script 0m
0m1m-L-0m
3mLegal Stuff 0m
3mLens flares 0m
3mLimitations 0m
3mLiterature 0m
3mLinear 0m
3mLoad 0m
3mLOADMATERIAL 0m
3mLOADOBJ 0m
3mLOADOBJECT 0m
0m1m-M-0m
3mMarble 0m
Material
3m - load new 0m
3m - manager 0m
3m - new 0m
3m - remove identical 0m
3m - remove unused 0m
3mMenus 0m
3mMesh 0m
3m - Axis 0m
3m - Box 0m
3m - Cone 0m
3m - Cylinder 0m
3m - Plane 0m
3m - Sphere 0m
3m - Torus 0m
3mMesh settings 0m
3mMin. Objects 0m
3mMode 0m
3mMotion Blur 0m
3mMUI Prefs 0m
0m1m-N-0m
3mNew 0m
3mNEW 0m
3mNEWACTOR 0m
3mNEWSURFACE 0m
0m1m-O-0m
3mOBJECTPATH 0m
3mObject browser 0m
3mOpen 0m
3mOPEN 0m
0m1m-P-0m
3mParameters 0m
3mPaste 0m
3mPASTE 0m
3mPC-Version 0m
3mPlane 0m
3mPLANE 0m
3mPoint light 0m
3m - Settings 0m
3mPOINTLIGHT 0m
3mPOSITION 0m
3mPrefs 0m
3mPrefs Load 0m
3mPrefs Save 0m
0m1m-Q-0m
3mQuit 0m
3mQUIT 0m
0m1m-R-0m
3mRadial 0m
3mRAW 0m
3mRecent File 0m
3mRedo 0m
3mREDO 0m
3mRedraw 0m
3mREDRAW 0m
3mREFEXP 0m
3mREFLECT 0m
3mReflect brush 0m
3mReflection map 0m
3mREFRINDEX 0m
3mRegister 0m
3mRender 0m
3m - settings 0m
3m - window, set 0m
3m - window, enable 0m
3mRENDER 0m
3mRequirements 0m
0m1m-S-0m
3mSave 0m
3mSAVE 0m
3mSave As 0m
3mSAVEMATERIAL 0m
3mSAVEOBJECT 0m
3mSAVEPIC 0m
3mSELECT 0m
3mSELECTBYNAME 0m
3mSelect All 0m
3mSelect Next 0m
3mSelect Previous 0m
3mSettings 0m
3mSETCAMERA 0m
3mSETOBJECTALIGN 0m
3mSETOBJECTPOS 0m
3mSETOBJECTSIZE 0m
3mSETSCREEN 0m
3mSETWORLD 0m
3mSIZE 0m
3mShadow map 0m
3mShow 0m
3m - Coordinates 0m
3m - Names 0m
3m - Brushes 0m
3m - Textures 0m
3mSHOW 0m
3mSoft shadows 0m
3mSOR 0m
3m - introduction 0m
3mSOR 0m
3mSPECTRANS 0m
3mSPECULAR 0m
3mSpecular brush 0m
3mSphere 0m
3mSPHERE 0m
3mSphere mapping 0m
3mSpikewidth 0m
3mSpot light 0m
3m - Settings 0m
3mSPOTLIGHT 0m
3mSTAR 0m
3mStars 0m
3mSTARTRENDER 0m
3mSurface 0m
3mSurface of revolution0m
0m1m-T-0m
3mTEXTUREPATH 0m
3mTextures 0m
3m - description 0m
3m - show 0m
3mTips & Tricks 0m
3mTRANSEXP 0m
3mTransform 0m
3mTRANSLUC 0m
3mTRANSPAR 0m
3mTRIANGLE 0m
3mTutorials 0m
0m1m-U-0m
3mUndo 0m
3mUNDO 0m
3mUNGROUP 0m
3mUsage 0m
0m1m-V-0m
3mView 0m
3mVIEW 0m
3mVirtual Memory 0m
3mVisible Light 0m
0m1m-W-0m
3mWINTOFRONT 0m
3mWood 0m
3mWWW 0m
0m1m-Z-0m
3mZOOM 0m
3mZoom fit 0m
3mZoom in 0m
3mZoom out 0m